栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pyqt5 主界面打开新主界面的实现模板

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pyqt5 主界面打开新主界面的实现模板

####说明
本例给出了三种窗口打开方式。
其中主界面打开主界面的方式,比较实用,却少有示例。特发布于此,希望对大家有帮助。

一.主界面打开 新的主界面
二.主界面打开 对话框
三.主界面打开 提示框

【如下代码,完全复制,直接运行,即可使用】

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
################################################
#######创建主窗口
################################################
class FirstMainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.setWindowTitle('主界面')

 ###### 创建界面 ######
 self.centralwidget = QWidget()
 self.setCentralWidget(self.centralwidget)
 self.Layout = QVBoxLayout(self.centralwidget)

 # 设置顶部三个按钮
 self.topwidget = QWidget()
 self.Layout.addWidget(self.topwidget)
 self.buttonLayout = QHBoxLayout(self.topwidget)

 self.pushButton1 = QPushButton()
 self.pushButton1.setText("打开主界面")
 self.buttonLayout.addWidget(self.pushButton1)

 self.pushButton2 = QPushButton()
 self.pushButton2.setText("打开对话框")
 self.buttonLayout.addWidget(self.pushButton2)

 self.pushButton3 = QPushButton()
 self.pushButton3.setText("打开提示框")
 self.buttonLayout.addWidget(self.pushButton3)



 # 设置中间文本
 self.label = QLabel()
 self.label.setText("第一个主界面")
 self.label.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
 self.label.setAlignment(Qt.AlignCenter)
 self.label.setFont(QFont("Roman times", 50, QFont.Bold))
 self.Layout.addWidget(self.label)

 # 设置状态栏
 self.statusBar().showMessage("当前用户:一心狮")

 # 窗口最大化
 self.showMaximized()

 ###### 三个按钮事件 ######
 self.pushButton1.clicked.connect(self.on_pushButton1_clicked)
 self.pushButton2.clicked.connect(self.on_pushButton2_clicked)
 self.pushButton3.clicked.connect(self.on_pushButton3_clicked)




    # 按钮一:打开主界面
    windowList = []
    def on_pushButton1_clicked(self):
 the_window =SecondWindow()
 self.windowList.append(the_window)   ##注:没有这句,是不打开另一个主界面的!
 self.close()
 the_window.show()


    # 按钮二:打开对话框
    def on_pushButton2_clicked(self):
 the_dialog = TestdemoDialog()
 if the_dialog.exec_() == QDialog.Accepted:
     pass



    # 按钮三:打开提示框
    def on_pushButton3_clicked(self):
 QMessageBox.information(self, "提示", "这是information框!")
 #QMessageBox.question(self, "提示", "这是question框!")
 #QMessageBox.warning(self, "提示", "这是warning框!")
 #QMessageBox.about(self, "提示", "这是about框!")





################################################
#######第二个主界面
################################################
class SecondWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.setWindowTitle('第二主界面')

 # 设置中间文本
 self.label = QLabel()
 self.label.setText("第二个主界面")
 self.label.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
 self.label.setAlignment(Qt.AlignCenter)
 self.label.setFont(QFont("Roman times", 50, QFont.Bold))
 self.setCentralWidget(self.label)

 # 设置状态栏
 self.statusBar().showMessage("当前用户:一心狮")

 # 窗口最大化
 self.showMaximized()



    ###### 重写关闭事件,回到第一界面
    windowList = []
    def closeEvent(self, event):
 the_window = FirstMainWindow()
 self.windowList.append(the_window)  ##注:没有这句,是不打开另一个主界面的!
 the_window.show()
 event.accept()




################################################
#######对话框
################################################
class TestdemoDialog(QDialog):
    def __init__(self, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.setWindowTitle('对话框')

 ### 设置对话框类型
 self.setWindowFlags(Qt.Tool)





################################################
#######程序入门
################################################
if __name__ == "__main__":
    app = QApplication(sys.argv)
    the_mainwindow = FirstMainWindow()
    the_mainwindow.show()
    sys.exit(app.exec_())

本文如有帮助,敬请留言鼓励。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号