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

PyQt5-两个窗口使用按钮相互控制显示/隐藏

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

PyQt5-两个窗口使用按钮相互控制显示/隐藏

PyQt5-两个窗口使用按钮相互控制显示/隐藏

效果描述:

  1. 有两个窗口 窗口A 窗口B 。
  2. 每个窗口里都有一个按钮,初始时状态是 显示窗口A / 显示窗口B
  3. 窗口A的按钮可以控制 窗口B 显示/隐藏,窗口B也一样。
  4. 按钮会根据所控制窗口状态在 显示窗口/隐藏窗口 之间变换。
  5. 当窗口A关闭时,关闭窗口B会再打开窗口A。


from PyQt5.QtWidgets import QApplication, QWidget,QPushButton

class WindowA(QWidget): 
    def __init__(self):
        super().__init__()
        self.setWindowTitle("窗口A")
        self.resize(400, 300)
        self.move(200,200)
        self.setup_ui()
    def setup_ui(self):
        self.btn = QPushButton("显示窗口B",self)
        self.btn.clicked.connect(self.action)
    def action(self):
        if winb.isHidden():
            winb.show2()
            self.btn.setText("隐藏窗口B")
        else:
            winb.hide()
            self.btn.setText("显示窗口B")
    def show2(self):
        self.show()
class WindowB(QWidget): 
    def __init__(self):
        super().__init__()
        self.setWindowTitle("窗口B")
        self.resize(400, 300)
        self.move(700,200)
        self.setup_ui()
    def closeEvent(self,event):
        if wina.isHidden():
            wina.btn.setText("显示窗口B")
            wina.show()
    def setup_ui(self):
        self.btn = QPushButton("隐藏窗口A",self)
        self.btn.clicked.connect(self.action)
    def show2(self):
        self.show()
    def action(self):
        if wina.isHidden():
            wina.show2()
            self.btn.setText("隐藏窗口A")
        else:
            wina.hide()
            self.btn.setText("显示窗口A")
if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    wina = WindowA()
    winb = WindowB()
    wina.show()
    sys.exit(app.exec_())

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

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

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