Выйти из окна tkinter, даже если он не сфокусирован - PullRequest
0 голосов
/ 08 мая 2020

Я делаю ИИ, который превосходит игру Wha c -A-Mole. Эта программа берет на себя управление мышью, и поэтому мне нужно найти способ остановить выполнение программы (вы едва можете двигать мышью, поэтому нажатие кнопки в Tkinter не сработает). Я остановился на клавише «Escape» как на выключателе. Проблема в том, что всякий раз, когда ИИ бьет крота (щелкает по экрану), окно Tkinter становится несфокусированным, поэтому «привязка» не работает.

Есть ли способ остановить программу без окна Tkinter сосредоточен?

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Если вы хотите, чтобы окно фокусировалось, вы можете использовать метод .focus().

Например:

from tkinter import *
window = Tk()
window2 = Toplevel()
window.mainloop()

Второе окно window2 не будет в фокусе. Чтобы поместить его в фокус, вы можете сделать это:

from tkinter import *
window = Tk()
window.title("window1")
window2 = Toplevel()
window2.title("window2")
window2.focus()
window.mainloop()

Это приведет к тому, что window2 будет в фокусе, даже если оно находится внизу.

Чтобы вывести его наверх, вы можете добавить эту строку:

window2.attributes("-topmost", True)

Надеюсь, это поможет!

0 голосов
/ 08 мая 2020

Чтобы вывести окно tkinter поверх всех остальных окон, вы можете использовать:

from tkinter import*
gui = Tk()
gui.wm_attributes("-topmost", True)
gui.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...