背景:
通过主窗口的按钮调用其对应的窗口,代码比较简单,直接看,不懂的欢迎留言;
一共两个代码:
ui_first.py :实现的是主窗口
ui_second.py:实现的是子窗口
点击开始按钮调用子窗口,点击关闭退出窗口;
ui_first.py
import sys
import os
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QHBoxLayout
from .ui_sencond import UiMainTwo
from PyQt5.QtCore import Qt
class UiMain(QWidget):
def __init__(self, parent=None):
super(UiMain, self).__init__(parent)
self.setWindowTitle('main_wsw')
self.resize(400, 200)
self.initUI()
def initUI(self):
layout = QHBoxLayout()
self.start = QPushButton("开始")
self.start.clicked.connect(self.action_b)
layout.addWidget(self.start)
self.end = QPushButton("结束")
self.end.clicked.connect(self.close)
layout.addWidget(self.end)
layout.addStretch()
self.setLayout(layout)
def action_b(self):
self.ui_2 = UiMainTwo()
self.ui_2.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = UiMain()
main.show()
sys.exit(app.exec_())
ui_second.py
文章来源:https://www.toymoban.com/news/detail-514154.html
import sys
import os
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QMenu, \
QSizePolicy, QVBoxLayout, QHBoxLayout, QLabel
class UiMainTwo(QWidget):
def __init__(self, parent=None):
super(UiMainTwo, self).__init__(parent)
self.setWindowTitle('second_wsw')
self.resize(300, 200)
self.move(800, 400)
self.initUI2()
def initUI2(self):
layout = QVBoxLayout()
self.label1 = QLabel('label1: hi i am wsw', self)
layout.addWidget(self.label1)
self.label2 = QLabel('label2: hi all ...', self)
layout.addWidget(self.label2)
layout.addStretch()
self.label3 = QLabel('label3: hi all ...', self)
layout.addWidget(self.label3)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = UiMainTwo()
sys.exit(app.exec_())
文章来源地址https://www.toymoban.com/news/detail-514154.html
到了这里,关于【Python】Pyqt5 主窗口调用子窗口demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!