He ejecutado el ejemplo de menú de Qt y no hay íconos en los menús, solo texto. La mayoría de las aplicaciones (como pcmanfm y caja de Ubuntu) tienen iconos similares, así que supongo que son para todo el sistema y no específicas de la aplicación. ¿Cómo puedo poner iconos en los elementos del menú? Un ejemplo de código sería interesante.

5
ProgAndPlay 13 nov. 2017 a las 02:52

2 respuestas

La mejor respuesta

Para obtener los iconos de los sistemas debes utilizar el método QIcon::fromTheme()

Ejemplo:

newAct = new QAction(tr("&New"), this);
newAct->setIcon(QIcon::fromTheme("document-new"));

Qt usa como backend para el ícono de freedesktop, tiene una regla en los nombres, la lista actualizada de ellos se puede encontrar en el siguiente enlace

7
eyllanesc 13 nov. 2017 a las 00:08

La función QIcon::fromTheme() que se encuentra en la otra respuesta desafortunadamente no es portátil para Mac o Windows. Es posible que tenga más suerte con QStyle::standardIcon().

0
Vincent Fourmond 19 abr. 2020 a las 13:53