PyQt5 彈窗

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


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

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 Test1(self):
    #     self.s = SecondWindow()

    def Test(self):
        self.s = SecondWindow()
        self.btn.clicked.connect(self.s.handle_click)
        self.show()

    # def closeEvent(self, event):
    #     self.close_signal.emit()
    #     self.close()


# class Realized:
#     def __init__(self):
#         self.ex = FirstWindow()
#         self.s = SecondWindow()
#     def WidgetShow(self):
#         self.ex.btn.clicked.connect(self.s.handle_click)


if __name__ == "__main__":
    App = QApplication(sys.argv)
    # a = Realized()
    # a.WidgetShow()
    # a.ex.show()
    ex = FirstWindow()
    ex.Test()
    # 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_())

 

發佈了15 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章