+-
如何在tkinter中创建模式对话框?
我有一个运行一些嵌入式 Python脚本的MFC应用程序.我试图使这个嵌入式脚本创建模态的对话框之一,但我没有取得多大成功.

有人能指出我制作模态对话的方法吗?我是否需要使用Windows函数或仅使用Tk或Python函数就足够了?

对于我用Google搜索的内容,看起来以下功能组合应该具有魔力,但它们似乎不像我期望的那样工作:

focus_set()

grab_set()

transient(parent)
最佳答案
grab_set是使窗口“应用程序模态”的正确机制.也就是说,它需要来自同一应用程序中所有其他窗口的所有输入(即:同一进程中的其他Tkinter窗口),但它允许您与其他应用程序进行交互.

如果您希望对话框是全局模态的,请使用grab_set_global.这将接管整个系统的所有键盘和鼠标输入.使用它时必须非常小心,因为如果您有一个阻止您的应用程序释放抓取的错误,您可以轻松地将自己锁定在计算机之外.

当我需要这样做时,在开发过程中我将尝试编写一个防弹故障保护措施,例如定时器,它将在一段固定的时间后释放抓取.

点击查看更多相关文章

转载注明原文:如何在tkinter中创建模式对话框? - 乐贴网