pyqt5新增子窗口
时间: 2024-01-24 21:03:24 浏览: 105
在PyQt5中,可以使用QMainWindow、QDialog或QWidget作为主窗口,并通过按钮或其他交互方式来新增子窗口。下面是一个使用QWidget作为主窗口的示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Window")
self.setGeometry(100, 100, 300, 200)
self.central_widget = QWidget(self)
self.setCentralWidget(self.central_widget)
self.button = QPushButton("Add Subwindow", self.central_widget)
self.button.clicked.connect(self.add_subwindow)
self.button.setGeometry(100, 50, 100, 30)
self.subwindows = []
def add_subwindow(self):
subwindow = QWidget(self)
subwindow.setWindowTitle("Subwindow")
subwindow.setGeometry(200, 200, 200, 150)
subwindow.show()
self.subwindows.append(subwindow)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个示例中,我们创建了一个名为MainWindow的类,继承自QMainWindow。在构造函数中,我们设置了主窗口的标题和大小,并创建了一个QWidget作为主窗口的中心部件。然后,我们创建了一个QPushButton按钮,并将其连接到add_subwindow方法。在add_subwindow方法中,我们创建了一个新的QWidget作为子窗口,并设置其标题和大小,然后将其显示出来。最后,我们将子窗口添加到subwindows列表中,以便后续管理。
你可以根据需要修改子窗口的属性和布局,以满足你的具体需求。
阅读全文