pyqt5 在主窗口中按button激活子窗口, 子窗口为QWidget
时间: 2024-05-09 19:19:07 浏览: 149
可以使用QDialog来作为子窗口,在主窗口中创建一个QPushButton,然后在按钮的clicked信号中槽函数中实例化一个QDialog,并使用exec()函数来显示子窗口。以下是示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Main Window')
self.setGeometry(100, 100, 300, 200)
# 创建按钮
btn = QPushButton('Open Dialog', self)
btn.setGeometry(100, 100, 100, 30)
btn.clicked.connect(self.showDialog)
def showDialog(self):
dialog = QDialog(self)
dialog.setWindowTitle('Dialog')
dialog.setGeometry(200, 200, 200, 100)
dialog.exec_()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个名为MainWindow的主窗口,其中包含一个名为btn的QPushButton。在按钮的clicked信号中,我们调用了showDialog函数,该函数实例化了一个名为dialog的QDialog,并使用exec()函数来显示它。
您可以根据需要更改QDialog的大小、标题和其他属性来适应您的应用程序需求。
阅读全文