Pregunta

Estoy usando sub-clasificarse QGraphicsView de en un MDIArea Quiero ser capaz de cambiar el icono de la ventana de 'dentro' del objeto, sino que sólo parece hacer caso de mí ... no hay errores o advertencias ... simplemente no lo hace.

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')

El uso de lo anterior, el WindowTitle cambia perfectamente y como se esperaba, pero los restos icono obstinadamente fija como el icono MainWindow. Pensé que podría ser stuggling con el QIcon, pero he comprobado la isNull () y eso es falso .. por lo que no es nulo.

Como prueba de que, probé el cambio del icono del objeto MainWindow y que funciona bien ...

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

¿Por qué es que me ignora cuando lo intento desde la vista?

¿Fue útil?

Solución

En cuanto a los C ++ documentos para la propiedad windowIcon dicen que la propiedad sólo tiene sentido si el widget es en realidad una ventana. Asumo que su QGraphicsView no es realmente su ventana?

A diferencia de los de la propiedad windowTitle decir que ese la propiedad tiene sentido más general para los widgets de alto nivel. Esa es probablemente la razón de los diferentes comportamientos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top