close
VSCode開啟資料夾Two Windows Forms
建立一個子資料夾view
利用qt designer建立兩個windows form如下
第一個視窗main.ui
第二個視窗secWindow.ui
利用qtuic5轉檔,即將*.ui轉成*.py
> pyuic5 -x main.ui -o main_ui.py
> pyuic5 -x secWindow.ui secWindow_ui.py
回到上一層根目錄,建立一個MVC架構中的controller,
並命名為main.py
import sys
import typing
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QApplication, QMainWindow
from view.main_ui import *
from view.secWindow_ui import *
class PyQt_Main(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.setWindowTitle("開啟另一個windows form")
self.ui.pushButton.clicked.connect(lambda: self.openSecWindow())
self.show()
return
def openSecWindow(self):
self.ui = Ui_SecWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(lambda: self.openFstWindow())
self.ui.pushButton.setText("開啟第1個window")
self.setWindowTitle("Second window")
self.show()
return
def openFstWindow(self):
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.setWindowTitle("First window")
self.ui.pushButton.clicked.connect(lambda: self.openSecWindow())
self.ui.pushButton.setText("開啟第2個window")
self.show()
return
def main():
app = QtWidgets.QApplication(sys.argv)
main = PyQt_Main()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
點選"開啟第1個window"按鈕
點選"開啟第2個window"按鈕
全站熱搜