zoukankan      html  css  js  c++  java
  • pyqt5实现打开子窗口

    复制代码
    # -*- coding: utf-8 -*-
    
    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    
    
    class FirstWindow(QWidget):
    
        close_signal = pyqtSignal()
        def __init__(self, parent=None):
            # super这个用法是调用父类的构造函数
            # parent=None表示默认没有父Widget,如果指定父亲Widget,则调用之
            super(FirstWindow, self).__init__(parent)
            self.resize(100, 100)
            self.btn = QToolButton(self)
            self.btn.setText("click")
    
        def closeEvent(self, event):
            self.close_signal.emit()
            self.close()
    
    
    class SecondWindow(QWidget):
        def __init__(self, parent=None):
            super(SecondWindow, self).__init__(parent)
            self.resize(200, 200)
            self.setStyleSheet("background: black")
    
        def handle_click(self):
            if not self.isVisible():
                self.show()
    
        def handle_close(self):
            self.close()
    
    
    if __name__ == "__main__":
        App = QApplication(sys.argv)
        ex = FirstWindow()
        s = SecondWindow()
        ex.btn.clicked.connect(s.handle_click)
        ex.btn.clicked.connect(ex.hide)
        ex.close_signal.connect(ex.close)
        ex.show()
        sys.exit(App.exec_())
    复制代码

     

  • 相关阅读:
    【多线程】工具类汇总
    【JVM】GC日志样例解读
    【Docker】
    XXS level5
    XXS level4
    XXS level3
    XXS level2
    SQLI DUMB SERIES-6
    SQLI DUMB SERIES-5
    XXS level1
  • 原文地址:https://www.cnblogs.com/liugp/p/10421102.html
Copyright © 2011-2022 走看看