版權所有:https://blog.csdn.net/fightingxyz/article/details/90598136
主界面爲Main Window;子界面爲Dialog。不同出現同級的兩個
畫界面簡單,麻煩的是調取子界面。學習了幾天,收穫了兩種方法,共享一下。不喜勿噴。
第一種:(主要看運行部分的調用,使用的是按鈕來觸發子界面)
from PyQt5.QtCore import QTimer,Qt,pyqtSignal, QObject
from PyQt5.QtGui import QImage, QPixmap,QMovie
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog,QTabWidget, QMessageBox,QDesktopWidget, QLabel, QGridLayout
from jiemian_zhu import Ui_MainWindow
from jiemian_fu import Ui_Dialog
import time
import sys
import numpy as np
import cv2
class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(mywindow, self).__init__()
# self.setupUi(self)
# QMainWindow.__init__(self)
self.main_ui = Ui_MainWindow()
self.main_ui.setupUi(self)
class childwindow(QtWidgets.QDialog, Ui_Dialog):
def __init__(self):
super(childwindow, self).__init__()
self.child = Ui_Dialog()
self.child.setupUi(self)
if __name__ == "__main__":
app=QtWidgets.QApplication(sys.argv)
ui = mywindow()
ui.setWindowTitle('Simple')
#開子界面,點擊彈出子界面
child =childwindow()
push=ui.main_ui.pushButton
push.clicked.connect(child.show)
ui.show()
sys.exit(app.exec_())
第二種:在Main Window中的(如上myWindow中調用)
class childWindow(QtWidgets.QDialog,Ui_Dialog):
def __init__(self):
super(childWindow, self).__init__()
self.setupUi(self)
class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(mywindow, self).__init__()
self.setupUi(self)
self.second_window = childWindow() # 實例化子界面
self.actionjigou.triggered.connect(self.xianshiqwe) # 槽函數連接
def xianshiqwe(self):
self.second_window.show()
主要差別就是在一個在類中調用。我是做的時候發現出了點問題,記錄下來,共享。大佬勿噴