亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python五子棋游戲的設計與實現

系統 2575 0

1.先使用Qt designer設計兩個窗口,一個是主窗口,一個是子窗口

?

Python 中PyQt5 點擊主窗口彈出另一個窗口的實現方法_第1張圖片
?

其中主窗口是新建-Main Window,子窗口是Dialog窗體。

? 兩個窗口不能是同一類型,否則會崩潰。

并保存為 EyeTracking_main.ui EyeTracking_process.ui (因為我在做眼動追蹤,因此窗體命名與此相關,后同),使用UIC工具轉成.py文件。

2.寫一個驅動函數調用兩個窗體

主窗體Eyetracking_main.py

            
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(954, 530)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.toolButton = QtWidgets.QToolButton(self.centralwidget)
    self.toolButton.setGeometry(QtCore.QRect(10, 40, 101, 25))   self.toolButton.setObjectName("toolButton")
    ...1234567891011
          

子窗體Eyetracking_process.py

            
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
  def setupUi(self, Dialog):
    Dialog.setObjectName("Dialog")
    Dialog.resize(810, 474)
    self.label_5 = QtWidgets.QLabel(Dialog)
    self.label_5.setGeometry(QtCore.QRect(630, 90, 151, 151))
    self.label_5.setObjectName("label_5")
    self.label_2 = QtWidgets.QLabel(Dialog)
    self.label_2.setGeometry(QtCore.QRect(250, 90, 171, 161))
    self.label_2.setObjectName
("label_2")
            
??????? ...12345678910111213

將驅動函數命名為EyeTracking_ui.py

            
from Eyetracking_main import *
from Eyetracking_process import *
from PyQt5.QtWidgets import QApplication,QMainWindow,QDialog
import sys
class parentWindow(QMainWindow):
  def __init__(self):
    QMainWindow.__init__(self)
    self.main_ui = Ui_MainWindow()
    self.main_ui.setupUi(self)
class childWindow(QDialog):
  def __init__(self):
    QDialog.__init__(self)
    self.child=Ui_Dialog()
    self.child.setupUi(self)

if __name__=='__main__':
  app=QApplication(sys.argv)
  window=parentWindow()
  child=childWindow()
  #通過toolButton將兩個窗體關聯
  btn=window.main_ui.toolButton
  btn.clicked.connect(child.show)
  # 顯示
  window.show()
  sys.exit(app.exec_())
          

因為后續還要在各個窗體操作,因此將主窗口與子窗口各自實例化在 parentWindow childWindow 兩個類中,這兩個類各自繼承了QMainWindow和QDialog的父類:

            
class parentWindow(QMainWindow):
  def __init__(self):
    QMainWindow.__init__(self)#QMainWindow的初始化
    self.main_ui = Ui_MainWindow()#主窗口的實例化
    self.main_ui.setupUi(self)
class childWindow(QDialog):
  def __init__(self):
    QDialog.__init__(self)
    self.child=Ui_Dialog()#子窗口的實例化
    self.child.setupUi(self)
          

后面分別再把兩個窗口實例化給window和child:

            
window=parentWindow()
child=childWindow()
          

通過定義按鈕意義將兩個窗體關聯起來:

            
btn=window.main_ui.toolButton
btn.clicked.connect(child.show)
          

表示當按鈕按下時,子窗口顯示。

如下圖,當點擊“處理眼動數據”,彈出處理處理窗體:

Python 中PyQt5 點擊主窗口彈出另一個窗口的實現方法_第2張圖片

總結

以上所述是小編給大家介紹的Python 中PyQt5 點擊主窗口彈出另一個窗口的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产一区二区免费不卡在线播放 | 日本久久伊人 | 亚洲综合激情另类图片专区 | 国产蜜汁tv福利在线 | 国产成人禁片免费观看视频 | 中国毛片免费看 | 免费国产福利 | 97在线视频网站 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天miya | 婷婷在线网站 | 波多结衣一区二区三区 | 欧美激情在线精品一区二区 | 91亚洲国产三上悠亚在线 | 久久咪咪 | 老子影院午夜伦手机不卡无 | 香蕉精品在线 | 成人18免费网站 | 国产精品ady9 | 国产成人精品福利色多多 | 国产成人精品男人免费 | 一a一片一级一片啪啪 | 操操操日日日 | 人人狠狠综合久久亚洲88 | www.黄色在线 | 欧美日韩视频一区二区 | 久热996re这里有精品 | 九九亚洲精品 | 国产亚洲综合久久 | 九九视频热 | 91久久综合 | 久久久精品免费视频 | 国产成人精品视频一区二区不卡 | 成人欧美在线 | 青青国产成人久久91 | 免费特黄一级欧美大片在线看 | 精品国产一区二区三区久久 | 九九精品免费 | 国产成人久久精品二区三区牛 | 久久草在线视频免费 | 无人码一区二区三区视频 | 久久婷婷久久一区二区三区 |