python - Tkinter:避免将焦点移动到窗口
问题描述
我正在尝试制作屏幕键盘。它适用于窗口中的小部件,但是当我按下按钮时,它会将焦点从我尝试输入的窗口移到具有按钮的窗口中。如何防止python移动?
from tkinter import *
from pynput.keyboard import Key, Controller
keyboard = Controller()
class App:
def __init__(self, master):
self.entry = Entry()
self.buttonOne = Button(text='1')
self.buttonTwo = Button(text='2')
self.buttonThree = Button(text='3')
self.buttonOne.bind("<Button-1>", lambda event, keyPressed='1': self.pressed(event, keyPressed))
self.buttonTwo.bind("<Button-1>", lambda event, keyPressed='2': self.pressed(event, keyPressed))
self.buttonThree.bind("<Button-1>", lambda event, keyPressed='3': self.pressed(event, keyPressed))
self.entry.grid(row=0, column=0, columnspan=3)
self.buttonOne.grid(row=1, column=0)
self.buttonTwo.grid(row=1, column=1)
self.buttonThree.grid(row=1, column=2)
def pressed(self, event, keyPressed):
keyboard.press(keyPressed)
keyboard.release(keyPressed)
root = Tk()
app = App(root)
root.mainloop()
解决方案
我建议使用withdraw()
and deiconify()
。这将使带有按钮的窗口在您在该窗口上调用它时不可见。一旦你使用deiconify()
它,它就会反转并让它再次可见。
更多信息可以在这里找到。
推荐阅读
- c# - 使用动态数据类型属性 C# 实现类
- sql - 如何获取每行 SQL 的最新版本?
- python - 我可以要求导入的模块修改 main.py 的全局变量吗?
- javascript - 单击 div 时更改 div 文本和 CSS,并在再次单击时反转更改
- kubernetes - 服务帐户的最佳做法是什么?
- c# - 'Cannot put Window in Style' 错误,即使视图位于 DataTemplate 中
- protractor - 无法读取量角器中的表格元素
- r - 根据 R 中的查找值将值分配给不同的列
- javascript - 从 url 解析 json 文件的 javascript botton 不起作用
- node.js - 协会不适用于 Sequelize