pyqt主窗口怎么创建子窗口

avatar
作者
猴君
阅读量:8

在PyQt中,可以使用QMainWindow类作为主窗口,可以使用QWidget类作为子窗口。

以下是一个创建主窗口和子窗口的示例代码:

from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton  class ChildWindow(QWidget):     def __init__(self):         super().__init__()         self.setWindowTitle('Child Window')         self.setGeometry(100, 100, 300, 200)          layout = QVBoxLayout()         button = QPushButton('Close')         button.clicked.connect(self.close)         layout.addWidget(button)          self.setLayout(layout)  class MainWindow(QMainWindow):     def __init__(self):         super().__init__()         self.setWindowTitle('Main Window')         self.setGeometry(100, 100, 500, 400)          self.child_window = ChildWindow()         self.setCentralWidget(self.child_window)  if __name__ == '__main__':     app = QApplication([])     main_window = MainWindow()     main_window.show()     app.exec() 

在上述代码中,我们创建了一个ChildWindow类作为子窗口,其继承自QWidget类。在ChildWindow的构造函数中,我们设置了子窗口的标题、大小和布局,并添加了一个按钮。在按钮的clicked信号与self.close槽函数之间建立了连接。

然后,我们创建了一个MainWindow类作为主窗口,其继承自QMainWindow类。在MainWindow的构造函数中,我们设置了主窗口的标题、大小,并创建了一个ChildWindow对象作为主窗口的中央窗口,通过self.setCentralWidget方法将其设置为中央窗口。

最后,我们创建了一个QApplication对象,实例化MainWindow对象,并通过show方法显示主窗口,最后通过app.exec方法进入主事件循环。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!