Как установить пользовательский значок в окне пользовательского интерфейса характеристик

Я пытаюсь использовать собственный значок в строке заголовка (и, если возможно, на панели задач) графического интерфейса пользователя, созданного в пользовательском интерфейсе Traits, однако я не могу найти никакой информации о том, как это сделать. В классе представления пользовательского интерфейса Traits есть атрибут icon, но я не могу заставить его что-либо изменить: http://docs.enthought.com/traitsui/traitsui_user_manual/custom_view.html#index-15

Google предполагает, что может быть запутанное решение, связанное с прямым взаимодействием с pyqt4, но я хотел сначала проверить, что не было более простого решения.

Графический интерфейс предназначен для работы в Linux и Windows.


person Siyh    schedule 22.08.2017    source источник


Ответы (1)


Решение состояло в том, чтобы использовать класс pyface ImageResource. Видеть:

from traits.api import HasTraits, Str
from traitsui.api import View, Item
from pyface.image_resource import ImageResource

class Person(HasTraits):
    first_name = Str
    last_name = Str

    view = View(Item('first_name'),
             Item('last_name'),
             icon=ImageResource('image_path.png'))

Person().configure_traits()
person Siyh    schedule 22.08.2017
comment
Еще 1 деталь: предполагается, что файл находится (и ищется) в папке с именем images/, расположенной рядом с модулем, содержащим код просмотра. - person jonathanrocher; 17.01.2018