日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 2507 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條評論
主站蜘蛛池模板: 恩平市| 穆棱市| 泾阳县| 丹江口市| 唐山市| 汉沽区| 太湖县| 桐柏县| 永安市| 黎城县| 宣威市| 台北县| 西乡县| 英山县| 麻江县| 邯郸市| 永寿县| 仪陇县| 徐水县| 济宁市| 长丰县| 东城区| 鹤岗市| 抚顺县| 河北省| 怀远县| 驻马店市| 桂林市| 佛冈县| 旌德县| 巩留县| 潞西市| 南通市| 库尔勒市| 卫辉市| 华池县| 博湖县| 平谷区| 大兴区| 营山县| 大城县|