pyqt 主窗口打开子窗口
时间: 2023-07-19 17:32:32 浏览: 97
要在 PyQt 主窗口中打开子窗口,你需要使用 PyQt 的 QDialog 类。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QPushButton, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Window")
self.setGeometry(100, 100, 400, 400)
self.button = QPushButton("Open Dialog")
self.button.clicked.connect(self.open_dialog)
layout = QVBoxLayout()
layout.addWidget(self.button)
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
def open_dialog(self):
dialog = QDialog(self)
dialog.setWindowTitle("Dialog")
dialog.setGeometry(150, 150, 200, 200)
dialog.exec_()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们创建了一个主窗口(MainWindow),并添加了一个按钮(QPushButton)。当用户单击按钮时,我们将打开一个 QDialog 对话框(open_dialog 方法)。在 QDialog 中,我们可以添加任何其他的 Qt 组件,例如文本框、按钮、标签等。最后,我们使用 exec_() 方法显示 QDialog 对话框,并等待用户关闭它。
阅读全文