pyQT中打开新窗口

已有一个MainWindow,

再新建一个widget和dialog的窗体文件,转化为对应的py文件在mianWindow中引用。

代码如下

# -*- coding: utf-8 -*-

from PyQt5 import QtWidgets
from main_windows import Ui_MainWindow
import sys
from wid_defs import my_widgets
from dlg_defs import my_Dialog

class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow):
    def __init__(self):
        super(MyWindow,self).__init__()
        self.setupUi(self)

    def slot1(self):
        self.textEdit.setText("hello 111")
        
    def openDialog(self):
         self.dlg = my_Dialog()
         self.dlg.exec_()    
        #pyqt5下,dialog用exec_()方法
        
    def openWidget(self):
        #self.hide()
        self.wid = my_widgets()
        self.wid.show()
        #pyqt5下,widgets用show()方法
        
        
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWindow = MyWindow()
    mainWindow.show()
    sys.exit(app.exec_())        

注意

1 pyqt5下,dialog用exec_()方法,widget用show()方法;

2 引用UI文件类及其函数定义的时候,注意类的名字不要搞混了:

class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow)

实例化类名(继承的qt类,自己编辑的类)

你可能感兴趣的:(pyQt5)