gpt4 book ai didi

python - Tkinter:尝试点击时窗口闪烁

转载 作者:太空狗 更新时间:2023-10-30 01:07:45 26 4
gpt4 key购买 nike

我已经尝试了一段时间了,但还没有想出办法。

我有一个 tkinter 脚本,它在按下按钮时创建一个弹出窗口。但是,我不希望用户能够从该窗口单击到以前创建的任何窗口。我已经使用 root.grab_set() 进行了此操作,但是没有向用户指示他们必须留在该窗口上。

class popup(object):
def __init__(self, parent):
self.root=Toplevel(parent)
self.root.grab_set() #prevents the user clicking on the parent window
#But the window doesnt 'flash' when an attempt to click away is made

例如,当您有一个由 filedialogue 模块创建的窗口时,如果您尝试单击另一个窗口,filedialogue 窗口将停留在顶部并有一个“闪烁”动画,让用户知道他们不能点击离开。有什么办法可以重现这种效果吗?通过 filedialogue 的源代码对我来说并没有取得成果,谷歌搜索也没有。

最佳答案

我能想到的最简单的方法是使用事件和焦点命令,以及 Windows bell 命令:

#!python3

import tkinter as tk

class popup(object):
def __init__(self, parent):
self.root=tk.Toplevel(parent)
self.root.title("Popup")
self.root.bind("<FocusOut>", self.Alarm)

def Alarm(self, event):
self.root.focus_force()
self.root.bell()

main = tk.Tk()
main.title("Main")
pop = popup(main)
main.mainloop()

关于python - Tkinter:尝试点击时窗口闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com