📅  最后修改于: 2023-12-03 15:18:46.391000             🧑  作者: Mango
在 PyQt 中,退出应用程序的方法有很多种,下面介绍几种常见的方法。
from PyQt5.QtWidgets import QApplication, QPushButton
app = QApplication([])
button = QPushButton('Quit')
button.clicked.connect(app.quit)
button.show()
app.exec_()
以上代码中,我们创建了一个简单的界面,并将一个按钮与应用程序的退出方法相连接,当我们点击按钮时,应用程序便会退出。
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
app = QApplication([])
window = QMainWindow()
button = QPushButton('Close')
button.clicked.connect(window.close)
window.setCentralWidget(button)
window.show()
app.exec_()
以上代码中,我们创建了一个主窗口,并将一个按钮与该窗口的关闭方法相连接,当我们点击按钮时,该窗口便会关闭。
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class MyWidget(QWidget):
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Message', 'Are you sure you want to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
app = QApplication([])
widget = MyWidget()
button = QPushButton('Quit')
button.clicked.connect(widget.close)
widget.setGeometry(100, 100, 300, 200)
button.move(100, 70)
button.setParent(widget)
widget.show()
app.exec_()
以上代码中,我们创建了一个自定义的QWidget,并重写了它的closeEvent()方法,该方法会在关闭窗口时被调用。我们在该方法中使用QMessageBox询问用户是否确认退出应用程序,如果用户点击“Yes”,则关闭窗口,否则忽略该事件。
以上便是几种常见的退出应用程序的方式,你可以根据实际需要选择适合自己的方法。