У меня есть окно tkinter
, из которого я удалил строку заголовка и добавил пользовательскую кнопку закрытия и сворачивания.Когда программа загружается впервые, она не отображает значок на панели задач.Когда я нажимаю пользовательскую кнопку свертывания, она создает значок на панели задач;однако, когда я нажимаю, чтобы восстановить окно, я не могу снова избавиться от заголовка.
Я хочу, чтобы значок всегда отображался на панели задач, а когда программа свернута и затем восстановлена, мне бы хотелось, чтобы строка заголовка по-прежнему не отображалась с .overrideredirect(1)
.К сожалению, у меня проблемы со сбросом флага до и после свертывания без исчезновения значка на панели задач.
Пожалуйста, дайте мне знать, что я делаю неправильно.Спасибо!
#!/usr/bin/python3
from tkinter import *
import tkinter as tk
import datetime
import time
import math
root = tk.Tk()
root.overrideredirect(1)
def close():
root.destroy()
def minimizeWindow():
root.withdraw()
root.overrideredirect(False)
root.iconify()
root.resizable(False, False)
canvas = Canvas(root, width = 400, height = 400)
canvas.pack()
exit = Button(root, text='x', command = close)
exitWindow = canvas.create_window(10,10, window=exit)
minimize = Button(root, text='-', command = minimizeWindow)
minimizeWindow = canvas.create_window(30,10,window=minimize)
icon = PhotoImage(file='py.gif')
root.tk.call('wm', 'iconphoto', root._w, icon)
root.mainloop() # starts the mainloop
Я пытаюсь заставить его работать как для Windows, так и для Linux.Причина, по которой я вообще убираю строку заголовка, состоит в том, чтобы избежать различий, которые связаны с настройками шрифта и окна ОС.В настоящее время он демонстрирует одинаковое поведение в обеих операционных системах.
Повторюсь, я хочу, чтобы значок на панели задач отображался при запуске программы, и я хочу, чтобы окно программы поддерживало свое состояние без заголовков при восстановлении из минимизированного состояния.