发布网友 发布时间:2022-04-26 00:06
共1个回答
热心网友 时间:2023-10-20 14:18
摘要代码量不大的话,放一个文件就行了,要是代码比较多的话,考虑到维护的方便,还是放在2个里面比较好,这种事件的触发和界面切换一般都是用signal-slot做的,使得语义看起来非常清晰# -*- coding: utf-8 -*-import sysfrom 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_sig咨询记录 · 回答于2021-11-17创建一个窗体,窗体中有一个按钮,当点击按钮后,就会弹出一个新窗体Python您好,我这边正在为您查询,请稍等片刻,我这边马上回复您~亲是要关闭这个新窗体吗?代码量不大的话,放一个文件就行了,要是代码比较多的话,考虑到维护的方便,还是放在2个里面比较好,这种事件的触发和界面切换一般都是用signal-slot做的,使得语义看起来非常清晰# -*- coding: utf-8 -*-import sysfrom 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_sig亲还有什么问题可以帮您?希望以上回答对您有所帮助~ 如果您对我的回答满意的话,麻烦给个赞哦~