Предыдущий ответ работает в соответствии с кодом, который вы указали. Вы говорите, что это не работает, потому что отвечающий соблюдает правило «sois bête et дисциплина» в том смысле, что он не добавил root.mainloop()
в свой код, поскольку ваш вопрос тоже не работает.
Добавляя более позднюю строку, по какой-то причине, вызванной циклом событий, вы должны проверить точную строку «изъят» следующим образом:
import tkinter as tk
from tkinter import messagebox
import sys
root = tk.Tk()
root.withdraw()
if 'withdrawn' != root.state():
messagebox.showinfo("Key you!", sys.argv[1:])
root.mainloop()
Примечание: не запускайте этот код, иначе сеанс терминала будет зависать. Чтобы обойти этот дискомфорт, вам придется сбросить состояние окна, используя либо root.state("normal")
, что приведет к исчезновению окна сообщения, как если бы произошел щелчок по кнопке Ok, либо root.iconify()
, через который вы можете остановить сеанс терминала, повесьте трубку, щелкнув правой кнопкой мыши значок tkinter, отображаемый на панели задач вашей ОС.