用qt做python界面设计_python QT5 子界面的设计

主界面为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()

主要差别就是在一个在类中调用。我是做的时候发现出了点问题,记录下来,共享。大佬勿喷

主界面为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() 主要差别就是在一个在类中调用。我是做的时候发现出了点问题,记录下来,共享。大佬勿喷
经验分享 程序员 微信小程序 职场和发展