最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 中PyQt5 點(diǎn)擊主窗口彈出另一個(gè)窗口的實(shí)現(xiàn)方法

 更新時(shí)間:2019年07月04日 11:32:24   作者:黃辣雞  
這篇文章主要介紹了Python 中PyQt5 點(diǎn)擊主窗口彈出另一個(gè)窗口的實(shí)現(xiàn)方法,本文代碼實(shí)例圖文相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.先使用Qt designer設(shè)計(jì)兩個(gè)窗口,一個(gè)是主窗口,一個(gè)是子窗口

 

 

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

  兩個(gè)窗口不能是同一類型,否則會(huì)崩潰。

并保存為EyeTracking_main.uiEyeTracking_process.ui(因?yàn)槲以谧鲅蹌?dòng)追蹤,因此窗體命名與此相關(guān),后同),使用UIC工具轉(zhuǎn)成.py文件。

2.寫一個(gè)驅(qū)動(dòng)函數(shù)調(diào)用兩個(gè)窗體

主窗體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

將驅(qū)動(dòng)函數(shù)命名為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將兩個(gè)窗體關(guān)聯(lián)
  btn=window.main_ui.toolButton
  btn.clicked.connect(child.show)
  # 顯示
  window.show()
  sys.exit(app.exec_())

因?yàn)楹罄m(xù)還要在各個(gè)窗體操作,因此將主窗口與子窗口各自實(shí)例化在parentWindowchildWindow兩個(gè)類中,這兩個(gè)類各自繼承了QMainWindow和QDialog的父類:

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

后面分別再把兩個(gè)窗口實(shí)例化給window和child:

window=parentWindow()
child=childWindow()

通過定義按鈕意義將兩個(gè)窗體關(guān)聯(lián)起來:

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

表示當(dāng)按鈕按下時(shí),子窗口顯示。

如下圖,當(dāng)點(diǎn)擊“處理眼動(dòng)數(shù)據(jù)”,彈出處理處理窗體:

總結(jié)

以上所述是小編給大家介紹的Python 中PyQt5 點(diǎn)擊主窗口彈出另一個(gè)窗口的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論

靖安县| 清流县| 朝阳县| 黔东| 富蕴县| 无棣县| 和静县| 旬阳县| 溧水县| 绥芬河市| 蒙城县| 兴仁县| 大理市| 黎平县| 香格里拉县| 昭平县| 新宁县| 酒泉市| 探索| 吉林市| 云梦县| 徐汇区| 饶平县| 巴彦县| 资阳市| 新平| 兴业县| 桐城市| 萨嘎县| 新昌县| 广灵县| 固镇县| 合江县| 开封市| 嘉善县| 孟津县| 康马县| 奇台县| 宝山区| 伽师县| 荣成市|