#!/usr/bin/python3 import tkinter as tk # Текстовое поле в одну строку def test_gui(): top, res = tk.Toplevel(root), [None] def callback(): res[0] = entry.get() top.destroy() root.deiconify() root.withdraw() entry=tk.Entry(top) entry.pack() entry.bind('<Return>', lambda e: callback()) entry.focus_set() top.wait_window(top) return res[0] root=tk.Tk() test_gui() test_gui() test_gui() root.mainloop()
Объясните, пожалуйста, почему в Linux новое создаваемое в test_gui() окно всегда является активным, а в Windows активным является только 1-е окно, а все остальные окна, хоть и выходят на передний план, но не являются активными - для их активизации на них нужно переключиться по Alt+Tab или мышью?
Какая структура программы была бы правильной? Правильно ли я использую withdraw?