Почему мое приложение tkinter показывает Tk или Toplevel, когда я останавливаю курсор мыши на значке? - PullRequest
1 голос
/ 25 апреля 2020

Я экспериментирую с python и ткинтером. У меня есть главное окно tk (tk.Tk) и окно spla sh (tk.Toplevel)

Я добавил значок к обоим windows, используя следующую строку

self.iconphoto(False, tk.PhotoImage(file=globali.IMG_PATH + 'virtuve_ico.png'))

Работает нормально, но если я go, наведя указатель мыши на иконку в трее значков (панель задач), появится текст с надписью «Tk» или «Toplevel». Я хотел бы изменить его на «Имя моего приложения».

Toplevel при наведении мыши на Tk при наведении мыши на

Возможно ли это?

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

В моем случае правильным решением было добавить параметр className, подобный этому

 root = tk.Tk(className="My App")

Но поскольку я использую свой собственный класс, мне пришлось также передать className суперклассу

root = MyClass(className="My App")
root.mainloop()

class MyClass(tk.Tk):
def __init__(self, className):
    super().__init__(className=className)

Спасибо всем

0 голосов
/ 25 апреля 2020

Если установка заголовка не работает, попробуйте использовать метод wm_iconname() объекта tkinter.Tk.

In [1]: import tkinter as tk

In [2]: root = tk.Tk()
Out[2]: <tkinter.Tk object .>

In [3]: root.wm_iconname?
Signature: root.wm_iconname(newName=None)
Docstring:
Set the name of the icon for this widget. Return the name if
None is given.
File:      /usr/local/lib/python3.7/tkinter/__init__.py
Type:      method
...