skjlgo 2021-09-18 20:58 采纳率: 91.7%
浏览 93
已结题

Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法

如何点击一个按钮后,在生成一个窗口。请问怎么做到这个要求,

img


假如是这个按钮
怎么绑定它生成另一个窗口

img


怎么设置函数才可以实现这个功能,我不知道弄可能不是函数的问题。

  • 写回答

2条回答 默认 最新

  • IT_心如止水 2021-09-18 23:32
    关注

    定义2个ui类,然后在一个类里面定义一个方法,实例化另一个ui类,可以参考这个例子

    import sys
    from PyQt5 import QtCore, QtWidgets
    from PyQt5.QtWidgets import QWidget, QApplication
    
    
    # second ui
    class SecondUI(QWidget):
        
        def __init__(self):
            super(SecondUI, self).__init__()
            self.resize(400, 300)
            self.setWindowTitle("Second UI")
            self.label = QtWidgets.QLabel(self)
            self.label.setGeometry(QtCore.QRect(100, 80, 181, 91))
            self.label.setText("Second UI")
    
    
    # first ui
    class FirstUI(QWidget):
    
        def __init__(self):
            super(FirstUI, self).__init__()
            self.resize(400, 300)
            self.setWindowTitle("First UI")
            self.changeP = QtWidgets.QPushButton(self)
            self.changeP.setGeometry(QtCore.QRect(100, 100, 181, 71))
            self.changeP.setText("Change to second ui")
    
            self.changeP.clicked.connect(self.open_second_ui)
    
        def open_second_ui(self):
            self.second_ui = SecondUI()
            self.second_ui.show()
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        widget = FirstUI()
        widget.show()
        sys.exit(app.exec_())
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 9月18日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格