pyqt5实现打开子窗口

Posted ayew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_())

 

 

以上是关于pyqt5实现打开子窗口的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5从子窗口关闭父窗口和子窗口

如何在 PyQt5 中相对于父窗口移动子窗口?

PyQt5调用子窗口

PyQt5对话框窗口打开时没有布局

在 PyQt5 中打开一个窗口和关闭一个窗口

PyQt5 - 在新窗口中打开 QMediaplayer 并播放视频