root.iconbitmap работает некорректно
Делав программу, столкнулся с проблемой установки иконки приложения. Она неккоректно отображается.
Вот кусочек кода:
aqua=Tk()
aqua.title("AquaBank - Alpha 2.0")
aqua.resizable(0,0)
aqua.geometry("550x300")
aqua.iconbitmap('images/iconbitmap.png’)
После запуска, получаю вот такую картину:
Ответы (1 шт):
Советую делать совершенно иначе:
icon = tk.PhotoImage(file="app.png")
root.iconphoto(True, icon)
В этом варианте, если True, иконка будет привязана и ко всем дочерним окнам.
Сам я использую более умный вариант. Файл иконки с помощью модуля base64 можно превратить в строковую переменную. Далее такую переменную следует встроить прямо в код программы и использовать для привязки к окнам, кнопкам и т.д. в качестве иконки. В этом случае нет привязки к внешнему файлу.
Некорректное отображение иконки свидетельствует, скорее всего, о несоответствии её задаче. Я использую 32х32 в формате .png
Есть подозрение, что и тип иконки выбран неправильно. Вот некий пример, который указывает, что должно быть вот такое: root.iconbitmap("my_icon.ico")
. В случае использования .png там рекомендуют вот такое: root.iconphoto(False, tk.PhotoImage(file="closeIcon.png"))