python - 如何在 tkinter 中链接多个窗口的焦点?
问题描述
蟒蛇 3.8.2
目标:将多个窗口(root 和 topLevels)链接在一起,因此如果单击其中一个窗口(具有焦点),所有 topLevels 和 root 都会出现在桌面上不相关的窗口前面,换句话说,它们都有焦点但不是真的
我有点完成了这一点,但只有根,因为如果我包括其他 2 个顶层来做同样的事情,它就会陷入循环。即使如此,现在程序也不能专注于主根,并且每次根有焦点时,它都会传递到顶层之一。
为此,我编写了 2 个函数并将 focusIn 和 focusOut 绑定到这些函数函数:
def Focus(event):
global rootNoFocus
global rpwNoFocus
global cswNoFocus
print(rootNoFocus, rpwNoFocus, cswNoFocus)
if rootNoFocus == True and rootNoFocus == True and rootNoFocus == True:
rndPassWin.focus()
clickerSetupWin.focus()
if event.widget == root:
rootNoFocus = False
if event.widget == rndPassWin:
rpwNoFocus = False
if event.widget == clickerSetupWin:
cswNoFocus = False
def noFocus(event):
global rootNoFocus
global rpwNoFocus
global cswNoFocus
if event.widget == root:
rootNoFocus = True
if event.widget == rndPassWin:
rpwNoFocus = True
if event.widget == clickerSetupWin:
cswNoFocus = True
捆绑:
root.bind('<FocusIn>', Focus)
root.bind('<FocusOut>', noFocus)
rndPassWin.bind('<FocusOut>', noFocus)
clickerSetupWin.bind('<FocusOut>', noFocus)
解决方案
推荐阅读
- python - 在python中将日期(月、日、年、时间)转换为日期时间格式
- spring - 为什么@RestController 默认使用单例范围?
- powershell - 如何使用 Powershell 脚本在远程计算机上查找 PST 文件
- php - 数据表页面就像只有一页一样工作
- angular - 单击铅笔图标编辑内容
- javascript - JavaScript 对象语法和符号
- json - 从 Bigquery 中的 json 获取数组
- javascript - React Native 和 Apollo 客户端
- javascript - 单击 highcharts 中的图例时,柱形图未重置
- unity3d - 如何在我的 3d FPS 游戏中让手跟随相机?