2009-09-22 25 views
43

Come si imposta l'icona dell'applicazione per l'applicazione creata con Qt? C'è un modo semplice? È un progetto basato su qmake.Come impostare l'icona dell'applicazione in un progetto basato su Qt?

+1

Per impostare le icone su Windows, Linux e MacX vedere questo file .pro https://github.com/zealdocs/zeal/blob/master/src/src.pro#L46 – earthdan

+0

Dipende su quale piattaforma si intende: [Vedi la documentazione di Qt] (http://qt-project.org/doc/qt-4.8/appicon.html) – Fred

risposta

75

Per Qt 5, questo processo è automatizzato da qmake. Basta aggiungere il seguente al file di progetto:

win32:RC_ICONS += your_icon.ico 

La generazione file di risorse automatizzato utilizza anche i valori delle seguenti variabili QMake: VERSION, QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, RC_LANG, RC_CODEPAGE.

Per Qt 4, è necessario farlo manualmente. Su Windows, è necessario creare un file .rc e aggiungerlo al progetto (.pro). Il file RC dovrebbe essere così:

IDI_ICON1 ICON DISCARDABLE "path_to_you_icon.ico" 

La voce .pro dovrebbe anche essere win32 specifica, ad esempio:

win32:RC_FILE += MyApplication.rc 
+10

Per sicurezza si dovrebbe usare 'win32: RC_FILE + = MyApplication. rc' – dwj

+1

come si fa nell'unità? la documentazione standard è insufficiente e nulla viene trovato nella mia ubuntu 12.04 come gnome-config. –

+0

Mentre questo imposta l'icona per il programma di installazione (file '.exe') e per l'app desktop, la finestra di disinstallazione che guida l'utente attraverso il processo di disinstallazione passo dopo passo mostra ancora l'icona predefinita in alto a sinistra. Qualche idea su come mostrare l'icona anche lì? Inoltre, nella directory di disinstallazione del Pannello di controllo, tutte le app mostrano le proprie icone, la mia app mostra ancora l'icona di default exe .. – SexyBeast

0

Ora che Qt ha aggiornato a 5.0.1, non v'è nuovo metodo per aggiungere un'icona di applicazione. In primo luogo, è necessario preparare un file di risorse, chiamato come .qrc

1) Senza Qt Designer, suppongo ci sia un'istanza QMainWindow il cui nome è MainWin. È possibile utilizzare:

QIcon icon(":icon/app.icon"); 
MainWin.setWindowIcon(icon); 

2) Con Qt Designer, è possibile modificare la proprietà di QMainWindow. Scegli una risorsa icona da .qrc e inseriscila nella riga di windowIcon.

Il metodo precedente può essere utilizzato in Qt4.7, Qt4.8.x.

+20

Ti stai sbagliando. Il tuo metodo è per l'impostazione dell'icona del modulo. Icona non applicazione. – drzymala

+1

Questo NON risponde alla domanda dell'OP – tarabyte

-2

Un altro modo per farlo. Verificato in Linux (Qt 4.8.6) e Windows (Qt 5.6):

1) Aggiungere il file icona nella cartella del progetto;

2) Nella funzione principale, chiamare il metodo setWindowIcon(). Per esempio:

QApplication a(argc, argv); 
a.setWindowIcon(QIcon("./images/icon.png")); 
+1

Questa è l'icona della finestra, quando viene aperta (ad esempio l'icona sulla barra del titolo). L'OP desidera che l'icona visualizzi quando si utilizza il file manager, ad esempio, e si fa clic con il mouse per aprire il programma. – Sigur

Problemi correlati