Как запустить окно одновременно с программой?
Хочу использовать маленькое окно в качестве индикатора работы программы. Т. е. чтобы при запуске программы появилось небольшое окно и после окончания работы программы оно исчезло.
Нигде не могу найти описание того, как это сделать. Везде описывается как сделать обработку событий в окне (нажатий кнопок и т. п.).
Мне не надо, чтобы окно обрабатывало какие-либо события, а нужно, чтобы окно работало как индикатор: программа работает — появилось окно, программа закрылась — окно исчезло.
Как это сделать?
Ответы (1 шт):
Почему бы не поместить иконку в трей? Пока программа будет работать, в трее будет висеть иконка. Как только скрипт завершит свою работу, иконку можно будет из трея убрать, тем самым сигнализируя о том, что ваша программа завершила свою работу.
pip install Pillow
pip install pystray
import threading
from PIL import Image
import pystray
import time
def create_icon():
icon_image = Image.open(r"C:\Users\Amgarak\Desktop\PirateCaptain.ico")
return pystray.Icon("PirateCaptain", icon_image)
def show_tray_image(icon):
icon.run()
if __name__ == "__main__":
icon = create_icon()
tray_thread = threading.Thread(target=show_tray_image, args=(icon,))
tray_thread.start()
# Основной код делает что-то полезное
for i in range(10):
print(i)
time.sleep(0.5)
icon.stop() # Чтото полезное сделали? Останавливаем иконку, программа завершается
tray_thread.join()