PyQt QGraphicsView не может установить setWindowIcon - PullRequest
1 голос
/ 19 августа 2010

Я использую подклассифицированные QGraphicsView в MDIArea. Я хочу иметь возможность изменять значок окна изнутри объекта, но он, кажется, просто игнорирует меня ... никаких ошибок или предупреждений ...он просто не делает.

if self.world.is_dirty:
    self.setWindowIcon( QtGui.QIcon ( 'images/dirty.png' ) )
    self.setWindowTitle('dirty')
else:
    self.setWindowIcon( QtGui.QIcon ( 'images/clean.png' ) )
    self.setWindowTitle('clean')

Используя выше, WindowTitle изменения отлично и, как ожидалось, но икона остается упорно фиксированной как значок MainWindow.Я подумал, что это может быть проблема с QIcon, но я проверил isNull (), и это ложно ... так что не Null.

Во время тестирования я попытался изменить значок из объекта MainWindow, и этоработает отлично ...

self.mdiArea.activeSubWindow().setWindowIcon(QtGui.QIcon ('images/dirty.png'))

Так почему же я игнорирую меня, когда я пробую это из вида?

1 Ответ

0 голосов
/ 19 августа 2010

Глядя на документы C ++ для свойства windowIcon , они говорят, что свойство имеет смысл, только если виджет на самом деле является окном. Я полагаю, ваше QGraphicsView на самом деле не ваше окно?

В отличие от документов для свойства windowTitle говорят, что это свойство имеет смысл в более общем смысле для виджетов верхнего уровня. Это, вероятно, причина для другого поведения.

...