Я создал следующий класс:
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 ...
-> но это ничего не меняет в описанной проблеме ...!