QWidget::setWindowIcon()
関数は、ウィンドウのアイコンを設定するためにのみ有用です。バイナリファイル(.exe)アイコンには影響しません。
バイナリファイルアイコンは、プログラムを実行しないでWindowsによって処理されます。だからあなたのコードに入れたものは、実行可能ファイルのアイコンには何の影響も与えません。
また、qico.dll
を移動しても影響はありません。このDLLは、プログラムの実行時にQtによってロードされます。
実行可能アイコンを変更するには、Windowsリソースシステムを使用して実行可能ファイルに埋め込む必要があります(Qtリソースシステムと混同しないでください)。これを行うには、RC_ICONS
、RC_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はアイコンのキャッシュを保持しているので、アイコンを変更して再構築すると、新しいアイコンがすぐに表示されないこともあります。
Windows 10でアプリを再構築しますか、それとも同じ実行可能ファイルですか(Win7で作成され、Windows 10でコピーされたファイル)ですか? –
Win7で構築。 Win10でビルドすると助けになると思いますか? – Ufx
デプロイメントの問題であれば役に立ちます。 'windeployqt'を使いましたか?すぐにできることは、デバッグ出力を追加して、.icoファイルをロードするかウィンドウアイコンを設定するのが問題かどうかを確認することです。 QIconの有効性をチェックするには、 'icon.pixmap(32,32);によって返されたQPixmapを確認することができます。 –