请帮我写一个pyqt6 真正关闭当前窗口的进程代码
时间: 2023-11-27 11:53:31 浏览: 129
可以使用`closeEvent`事件来实现关闭当前窗口的进程代码。
以下是一个示例代码,它演示了如何在关闭窗口时弹出一个确认对话框,如果用户选择“是”,则关闭窗口,并在控制台中打印一条消息。
```python
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QMessageBox
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('关闭窗口示例')
def closeEvent(self, event):
reply = QMessageBox.question(self, '确认', '是否要关闭窗口?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
print('窗口已关闭')
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec())
```
在这个示例中,我们定义了一个`MyWidget`类,它继承自`QWidget`类,并覆盖了`closeEvent`事件。在`closeEvent`方法中,我们创建了一个确认对话框,并根据用户的选择来决定是否关闭窗口。如果用户选择“是”,则调用`event.accept()`来关闭窗口,并在控制台中打印一条消息。如果用户选择“否”,则调用`event.ignore()`来忽略该事件,从而防止窗口被关闭。
阅读全文