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

PyQt5-两个窗口使用按钮相互控制显示隐藏,第1张

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_())

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5490956.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存