pyqt5 点击按钮弹出另一个QWidget窗口
时间: 2023-09-12 07:06:02 浏览: 212
下面是一个示例代码,展示如何使用PyQt5创建一个按钮,当点击该按钮时,弹出一个新的QWidget窗口:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
class MyWindow(QWidget):
def __init__(self):
super().__init__()
# 创建一个按钮
self.btn = QPushButton('Click me', self)
self.btn.move(50, 50)
self.btn.clicked.connect(self.show_message)
def show_message(self):
# 创建一个 QMessageBox 对话框
msg_box = QMessageBox()
msg_box.setText('Hello, World!')
msg_box.exec_()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.setGeometry(300, 300, 250, 150)
window.setWindowTitle('PyQt5 Example')
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们首先创建了一个MyWindow类,它继承自QWidget。在MyWindow类的构造函数中,我们创建了一个QPushButton对象,并将其移动到(50, 50)的位置。我们还连接了按钮的clicked信号到show_message()方法。
show_message()方法创建了一个QMessageBox对话框,并将其文本设置为"Hello, World!"。最后,我们调用了msg_box.exec_()来显示对话框。
在我们的main函数中,我们首先创建了一个QApplication对象,然后创建了一个MyWindow对象,并将其设置为主窗口。我们还设置了窗口的大小和标题,并使用window.show()方法显示窗口。
最后,我们调用了sys.exit(app.exec_())来启动应用程序的事件循环。这将允许我们与窗口进行交互,并显示对话框,当我们点击按钮时。
阅读全文