如何在PySimpleGUI中防止窗口被意外关闭?
时间: 2024-10-04 18:01:00 浏览: 30
PySimpleGUI_source.zip
在PySimpleGUI(sg)中,你可以通过设置一个特定的消息或按钮来确认用户是否真的希望关闭窗口。这通常在`Window`对象的配置中进行。这里有一个简单的例子:
```python
import PySimpleGUI as sg
layout = [
[sg.Button('Close', key='-CLOSE-')],
[sg.Text('Do you really want to close?')]
]
window = sg.Window('Confirm Close', layout, finalize=True)
while True:
event, values = window.read()
if event == 'Cancel' or event == sg.WINDOW_CLOSED or event == '-CANCEL-': # 用户点击取消或直接关闭窗口
break
elif event == '-CLOSE-':
yes_no_result = sg.popup_ok_cancel('Are you sure you want to exit?', title='Confirmation')
if yes_no_result == 'OK':
break # 如果用户确认,退出程序
window.close()
```
在这个例子中,我们添加了一个"Close"按钮和一个文本提示询问用户是否真的要关闭。当用户点击“Close”时,会弹出一个确认对话框。如果用户选择“取消”,则窗口保持打开;如果选择“确定”,则窗口关闭。
如果你想要在没有明显确认步骤的情况下防止误操作,可以尝试使用`keep_on_top`属性让窗口始终位于最前方,或者使用定时器在一段时间内阻止窗口被关闭。
阅读全文