2010-11-06 30 views
10

He añadido QAction a mi QToolBar en mi ventana principal en Qt Designer (usando el IDE de Qt Creator) y dado que Acción un ícono (hecho por "Elegir archivo" y seleccionando mi .png ubicado en el mismo directorio que mi proyecto y código fuente). El icono aparece bien en la barra de herramientas en Qt Designer, pero no se muestra cuando el proyecto se está ejecutando. He tenido problemas similares al elegir el ícono de la barra de título en Windows. Nunca antes había usado gráficos en Qt, ¿hay algo especial que deba hacer?Qt/C++: Los iconos no aparecen cuando se ejecuta el programa

Captura de pantalla:

Respuesta

11

hiciste un archivo QRC (es decir, el equivalente de Qt de un archivo de recursos?) Si no es así, que explicaría lo que están viendo. Los iconos aparecerán en el creador, pero no en el ejecutable compilado final. Echar un vistazo a esto:

http://doc.qt.io/qt-5/resources.html

+0

No lo hice, y estoy tratando de hacerlo ahora. Aparentemente puede editar/configurar recursos en el IDE de Qt Creator, pero no puedo encontrar este navegador de recursos del que hablan los documentos (http://doc.troll.no/4.7/designer-resources.html). Eso menciona Tools-> Resource Browser que no existe para mí. ¿Estás familiarizado con esto? ¡Gracias! – Joseph

+1

Primero debe agregar un nuevo archivo de recursos a su proyecto. (Es decir, el archivo QRC). Una vez que hayas hecho eso, verás que el recurso se dirige hacia arriba. Eche un vistazo a esto: http://www.qtforum.org/article/33043/resource-browser-option-missing.html – Bart

+0

Perfecto, ¡gracias! – Joseph

0

¿Ha intentado abrir el archivo de proyecto. Por ejemplo, mi archivo de proyecto se llama menu.pro y contiene lo siguiente:

TEMPLATE = app 
QT = gui core 
CONFIG += qt debug warn_on console 
DESTDIR = bin 
OBJECTS_DIR = build 
MOC_DIR = build 
UI_DIR = build 
FORMS = ui/mainwindow.ui 
HEADERS = src/mainwindowimpl.h 
SOURCES = src/mainwindowimpl.cpp src/main.cpp 
RESOURCES = Images.qrc 

La última línea (RESOURCES = Images.qrc) es lo que se necesita para poner en su archivo de proyecto: por supuesto, utilizar el nombre que utilizó para su archivo de recursos, en mi caso, es Images.qrc.

0

También me enfrenté a tal problema. En mi caso, cerré el creador de qt y eliminé la carpeta de compilación (algo así como build-projectname ..). Luego se reinició el creador de qt. Luego, mágicamente, mi icono apareció en la aplicación en ejecución.

A menudo uso este truco cuando qt no se comporta bien.

9

Me encontré haciendo todo lo correcto, agregando un archivo qrc ​​y colocando mis íconos allí. Cuando ejecuto el programa, no hay trato. resultan me olvidaba para funcionar qmake:

  • Haga clic derecho en el nombre de su proyecto y seleccione "Ejecutar qmake". O vaya a Build> Run qmake.

Cada vez que cambia algo en el archivo .pro necesita ejecutar qmake nuevamente. La creación de un archivo de recursos agrega implícitamente argunments al archivo .pro, por lo que debe hacerlo.

Espero que ayude a otras personas.

1

También en el caso de la compilación sombra no se olvide de usar windeployqt.exe en el archivo ejecutable de su aplicación. Después de eso, se agregarán varias carpetas a su directorio de compilación. En particular, dos carpetas importantes: iconengines y formatos de imagen que contienen varios archivos DLL necesarios para cargar y dibujar el ícono.

+0

¿Dónde se encuentra este .exe? –

0
  1. Si bien la adición de iconos utilizan "Elegir recursos" opción en lugar de la opción "Elegir Archivo".
  2. Haga clic con el botón derecho en el nombre de su proyecto y haga clic en "Ejecutar qmake".
Cuestiones relacionadas