91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 中PyQt5 點擊主窗口彈出另一個窗口的實現方法

發布時間:2020-09-05 16:40:52 來源:腳本之家 閱讀:1188 作者:黃辣雞 欄目:開發技術

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

 

Python 中PyQt5 點擊主窗口彈出另一個窗口的實現方法
 

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

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

并保存為EyeTracking_main.uiEyeTracking_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_())

因為后續還要在各個窗體操作,因此將主窗口與子窗口各自實例化在parentWindowchildWindow兩個類中,這兩個類各自繼承了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 點擊主窗口彈出另一個窗口的實現方法

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武义县| 若羌县| 马鞍山市| 鄂伦春自治旗| 邳州市| 阿拉善右旗| 泌阳县| 永城市| 方正县| 湖北省| 太谷县| 长顺县| 大竹县| 古丈县| 温州市| 锦州市| 永登县| 六枝特区| 耿马| 湖南省| 富宁县| 苏州市| 邵阳县| 甘孜县| 清苑县| 淮北市| 锡林郭勒盟| 化州市| 辉县市| 寻乌县| 孝昌县| 阳江市| 沁阳市| 新蔡县| 温州市| 晋城| 通海县| 鲁甸县| 莱芜市| 安达市| 尼勒克县|