Tkinter: не фокусируемое окно после alt + tab - PullRequest
0 голосов
/ 16 марта 2020

Я создал следующий класс:

if sys.version[0] != 3:
   sys.exit(2
else:
   from tkinter import * # pylint: disable =unused-wildcard-import

class Window(Tk):

 def __init__(self,x,y):
    super().__init__()
    self.geometry('%dx%d' % (x,y))

 def update(self):
    super().update_idletasks()
    super().update()

 def cutTitleBar(self):
    self.attributes('-type', 'splash')


mainFrame = Window(100,100) mainFrame.cutTilteBar()

while True:  mainFrame.update()

Теперь странное поведение: когда я запускаю программу: (python3 tkTest.py ) создается окно быть заблокирован на переднем плане (-> нет self.attributes ('- topmose', 1) или что-то похожее!). За исключением случаев, когда я переключаюсь на терминал, окно vani sh, но не может быть отклонено из этой точки ... (= alt + tab, например) (python программа все еще работает ...)

недавно проверено: (вызов функции lift () не оказывает влияния)
Нужно ли проверять, не находится ли Window впереди, и затем вызывать lift () ?

def foo(self):
 bool = self. #check if in front -> couldn't find such function?
 if bool:
  self.lift()

NEW : Я проверил: если состояние окна изменяется, когда alt-tab (-> invisible):

if mainframe.state() != 'normal':
 print('something has happened')

без результата ... выдает также 'обычный', даже если он не виден через alt-tab


Ответы:
@FrainBr No - AND Если вы используете все эти вещи не в стиле oo все работает как талисман

@ acw Принимайте опечатки как не решающие ... -> Я не скопировал и вставил программу: я собрал этот пример исключительно для переполнения стека

@ Брайан - Я признаю, что это немного неуклюже в этом примере ... но основная идея c заключалась в том, что я хотел контролировать, когда именно повторять рендеринг ф rame или другими словами, если я хочу делать другие вещи в основном l oop ...

-> но это ничего не меняет в описанной проблеме ...!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...