Скрипт Python застревает между ними без следа

Tkinter должен иметь корневое окно. Если вы его не создадите, вы будете созданы для вас. Если вы не хотите этого корневого окна, создайте его, а затем спрячьте его:

import Tkinter as tk
root = tk.Tk()
root.withdraw()
tkMessageBox.showinfo("Say Hello", "Hello World")

Другой ваш выбор - not использовать tkMessageBox, но вместо этого поместите свое сообщение в корневое окно. Преимущество такого подхода заключается в том, что вы можете заставить окно выглядеть так, как вы хотите, чтобы он выглядел.

import Tkinter as tk
root = tk.Tk()
root.title("Say Hello")
label = tk.Label(root, text="Hello World")
label.pack(side="top", fill="both", expand=True, padx=20, pady=20)
button = tk.Button(root, text="OK", command=lambda: root.destroy())
button.pack(side="bottom", fill="none", expand=True)
root.mainloop()

(лично я бы выбрал более объектно-ориентированный подход, но я пытаюсь сохранить маленький код для этого примера)

-3
задан ISHAAN SATHE 17 January 2019 в 05:35
поделиться

1 ответ

Взгляните на модуль Hanging_threads (доступный в PyPI) - он может дать вам несколько советов о том, где застрял ваш код Однако он склонен к ложным срабатываниям (например, если ваш сценарий ожидает сетевого подключения).

0
ответ дан Torben Klein 17 January 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: