pyQT에서 새 창 열기

1192 단어 pyQt5
Main Window가 이미 있습니다.
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_())        

주의


1pyqt5에서 dialog용 exec() 방법,widget은 show () 방법으로 하기;
2 UI 파일 클래스와 함수 정의를 참조할 때 클래스 이름이 헷갈리지 않도록 주의하십시오.
class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow)
실례화 클래스 이름 (계승된 qt 클래스, 스스로 편집한 클래스)

좋은 웹페이지 즐겨찾기