pyHookを使用してマウスから左クリックを検知してtkinterウィンドウを開き、新しく開いたウィンドウにフォーカスを当てたい。問題は、どのフォーカスメソッドを試しても、フォーカスが新しいtkinterウィンドウに切り替わるのではなく、現在のウィンドウが常にフォーカスを保持するということです。ここでは、コードです:pyHookマウスのLeftTown機能のため、Tkinterウィンドウにフォーカスが得られない
from tkinter import *
import pyHook
import pythoncom
def open_GUI():
root = Tk()
root.title('test')
entry_box = Entry(root, font=("Calibri", 11))
entry_box.focus()
entry_box.pack(fill=X, side=RIGHT, expand=True)
root.after(1, lambda: root.focus_set())
root.mainloop()
return True
def MouseLeftDown_Func(event):
print('mouse')
open_GUI()
return True
def KeyDown_Func(event):
print('key')
return True
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = KeyDown_Func
hooks_manager.MouseLeftDown = MouseLeftDown_Func
hooks_manager.HookKeyboard()
hooks_manager.HookMouse()
pythoncom.PumpMessages()
私は、問題は、私が去ったときフォーカスが最近クリックされたウィンドウ(現在のウィンドウ)に優先され、現在のウィンドウをクリックすると、任意のコマンドは、Tkinterのウィンドウを呼びかけていることだと思いますフォーカスは無視されます。
左クリック後、新しいtkinterウィンドウにどのようにフォーカスを切り替えることができますか?
お返事ありがとうございました。 私はすでにpyhookと焦点workaいいえなしでそれを試してみました。私の主な問題は、pyhookをインポートし、マウスの左クリックを使用してウィンドウを開くときです。あなたはpyhookをインポートしてコードを試してみて、あなたの考えを教えてくれますか? 非常に感謝して、アリ –