2017-04-09 23 views
1

Windows 7では、アプリケーションアイコンに問題はありません。 Windows 10では、実行可能ファイルのアイコンに問題はありませんが、ウィンドウアイコンに問題があります。キャプションにはアイコンの代わりにデフォルトのアイコンがあります。 Windowsのタイトルにアイコンがありません

この

は私が助けにはならなかった .\imageformats\にアイコン

QIcon icon(":/icons/icon1.ico"); 
setWindowIcon(icon); 

コピーimageformats\qico.dllを設定する方法です。

+0

Windows 10でアプリを再構築しますか、それとも同じ実行可能ファイルですか(Win7で作成され、Windows 10でコピーされたファイル)ですか? –

+0

Win7で構築。 Win10でビルドすると助けになると思いますか? – Ufx

+0

デプロイメントの問題であれば役に立ちます。 'windeployqt'を使いましたか?すぐにできることは、デバッグ出力を追加して、.icoファイルをロードするかウィンドウアイコンを設定するのが問題かどうかを確認することです。 QIconの有効性をチェックするには、 'icon.pixmap(32,32);によって返されたQPixmapを確認することができます。 –

答えて

0

RCファイルを使用してください。例えば

app.rc

IDI_ICON1 ICON DISCARDABLE "app_icon.ico" 

と* .PROファイル:

win32 { 
    RC_FILE += app.rc 
} 
+0

既に完了しました。援助しなかったように見えます。 – Ufx

0

QWidget::setWindowIcon()関数は、ウィンドウのアイコンを設定するためにのみ有用です。バイナリファイル(.exe)アイコンには影響しません。

バイナリファイルアイコンは、プログラムを実行しないでWindowsによって処理されます。だからあなたのコードに入れたものは、実行可能ファイルのアイコンには何の影響も与えません。

また、qico.dllを移動しても影響はありません。このDLLは、プログラムの実行時にQtによってロードされます。

実行可能アイコンを変更するには、Windowsリソースシステムを使用して実行可能ファイルに埋め込む必要があります(Qtリソースシステムと混同しないでください)。これを行うには、RC_ICONSRC_FILEまたはRC_RESのいずれかを使用できます。

最も簡単な方法は、RC_ICONSを使用することです:

RC_ICONS = icons/appicon.ico # Path relative to the .pro file 

RC_FILEまたはRC_RESを設定すると、RC_ICONSを無効にすること。 http://doc.qt.io/qt-5/qmake-variable-reference.html#rc-icons

Windowsはアイコンのキャッシュを保持しているので、アイコンを変更して再構築すると、新しいアイコンがすぐに表示されないこともあります。

+0

実際には、ウィンドウアイコンに問題があります。 exeファイルのアイコンに問題はありません。私は私の質問を編集しました。 – Ufx

関連する問題