python 如何用PyQt实现点击按钮弹出新窗口
时间: 2024-04-21 10:22:47 浏览: 255
QT+VS点击按钮弹出新窗口的实现
5星 · 资源好评率100%
使用 PyQt 来实现点击按钮弹出新窗口的方法与使用 tkinter 类似。下面是一个使用 PyQt 的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Window")
self.button = QPushButton("Open New Window", self)
self.button.clicked.connect(self.open_new_window)
self.button.setGeometry(50, 50, 200, 50) # 设置按钮位置和大小
def open_new_window(self):
self.new_window = QDialog(self)
self.new_window.setWindowTitle("New Window")
self.new_window.setGeometry(100, 100, 300, 200) # 设置新窗口位置和大小
self.new_window.exec_() # 显示新窗口
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先导入必要的模块,并定义了一个 `MainWindow` 类,它继承自 `QMainWindow`。在 `MainWindow` 类的构造函数中,我们设置了主窗口的标题,并创建了一个按钮。使用 `clicked.connect` 方法将按钮的点击信号连接到 `open_new_window` 槽函数上。
在 `open_new_window` 函数中,我们创建了一个 `QDialog` 对话框作为新窗口,并设置了它的标题和位置大小。最后,通过调用 `exec_()` 方法来显示新窗口。
在程序的主入口中,我们创建了一个 `QApplication` 应用程序对象,并实例化了 `MainWindow` 类。然后,通过调用 `show()` 方法来显示主窗口,并通过 `sys.exit(app.exec_())` 启动应用程序的事件循环,使程序保持运行状态。
当用户点击按钮时,新窗口会被创建并显示出来。
阅读全文