pyqt5子窗口调用
时间: 2024-08-19 12:02:53 浏览: 47
PyQt5实现从主窗口打开子窗口的方法
在PyQt5中,创建子窗口通常涉及到继承QMainWindow或者QWidget,并通过特定的方式打开或显示它。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
# 创建主界面布局
self.setWindowTitle("主窗口")
self.setGeometry(100, 100, 400, 300)
# 添加一个按钮,点击时打开子窗口
button = QPushButton("打开子窗口", self)
button.clicked.connect(self.show_child_window)
# 设置窗口的基本属性
self.button_layout = QVBoxLayout()
self.button_layout.addWidget(button)
self.setLayout(self.button_layout)
def show_child_window(self):
child = ChildWindow(parent=self) # 子窗口继承自QMainWindow或QWidget
child.show() # 显示子窗口
class ChildWindow(QMainWindow):
def __init__(self, parent=None):
super(ChildWindow, self).__init__(parent)
self.setWindowTitle("子窗口")
self.setGeometry(450, 100, 300, 200)
# 这里可以添加子窗口需要的内容
if __name__ == "__main__":
app = QApplication([])
main = MainWindow()
main.show()
app.exec_()
```
在这个例子中,`show_child_window`方法会在用户点击“打开子窗口”按钮时被触发,此时会创建一个新的`ChildWindow`实例并显示出来。
阅读全文