pyqt5程序关闭窗口
时间: 2023-08-16 17:08:23 浏览: 118
在 PyQt5 中,关闭窗口可以通过以下几种方式实现:
1. 使用 `close()` 方法关闭窗口:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
def closeEvent(self, event):
# 在关闭窗口时会调用该方法
reply = QMessageBox.question(self, '提示', '确定要关闭窗口吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在上述代码中,我们重写了 `closeEvent()` 方法,它会在关闭窗口时被调用。我们可以在该方法中添加一些逻辑,例如弹出一个对话框询问是否真的要关闭窗口。
2. 使用 `QApplication` 的 `quit()` 方法退出应用程序:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
import sys
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
button = QPushButton('关闭窗口', self)
button.clicked.connect(QApplication.quit)
button.setGeometry(50, 50, 100, 30)
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在上述代码中,我们创建了一个按钮,并将它与 `QApplication.quit` 方法连接。当点击按钮时,应用程序将会退出。
无论采用哪种方式,都可以实现关闭 PyQt5 程序的窗口。
阅读全文