web-dev-qa-db-ja.com

Qt / C ++:プログラムの実行時にアイコンが表示されない

QtDesignerのメインウィンドウのQActionQToolBarを追加し(Qt Creator IDEを使用)、そのアクションにアイコンを指定しました(「ファイルの選択」で.pngを選択します)。私のプロジェクトとソースコードと同じディレクトリにあります)。アイコンはQtDesignerのツールバーに正常に表示されますが、プロジェクトの実行時には表示されません。 Windowsでタイトルバーアイコンを選択するときにも同様の問題が発生しました。 Qtでグラフィックを使用したことはありませんが、何か特別なことをする必要がありますか?

スクリーンショット:

13
Joseph

QRCファイル(つまり、Qtのリソースファイルに相当するもの)を作成しましたか?そうでない場合は、表示されている内容を説明します。アイコンは作成者に表示されますが、最終的にコンパイルされた実行可能ファイルには表示されません。これを見てください:

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

12
Bart

Qrcファイルを追加し、そこにアイコンを配置して、すべての正しいことをしていることに気づきました。私がプログラムを実行するとき、何の取引もありません。実行するのを忘れていたことがわかりましたqmake

  • プロジェクトの名前を右クリックして、「Runqmake」を選択します。または、[ビルド]> [qmakeの実行]に移動します。

.proファイルで何かを変更するたびに、qmakeを再度実行する必要があります。リソースファイルを作成すると、暗黙的に.proファイルに引数が追加されるため、それを行う必要があります。

それが他の人々に役立つことを願っています。

14
A. Vieira

また、シャドウビルドの場合は、アプリケーションの実行可能ファイルでwindeployqt.exeを使用することを忘れないでください。その後、いくつかのフォルダがビルドディレクトリに追加されます。特に2つの重要なフォルダ:iconenginesおよびimageformatsこれらには、アイコンのロードと描画に必要ないくつかのdllが含まれています。

3
Anton Agapov
  1. アイコンを追加するときは、「ファイルの選択」オプションの代わりに「リソースの選択」オプションを使用してください。
  2. プロジェクト名を右クリックし、「qmakeを実行」をクリックします。
0
balu mahendran

私もそのような問題に直面しました。私の場合、qtクリエーターを閉じて、ビルドフォルダーを削除しました(build-projectname ..のようなもの)。その後、qtクリエーターを再起動しました。その後、魔法のように私のアイコンが実行中のアプリケーションに表示されました。

Qtがうまく動作しないとき、私はよくこのトリックを使います。

0
user3044322

プロジェクトファイルを開いてみましたか。たとえば、私のプロジェクトファイルの名前はmenu.proで、次のものが含まれています。

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

最後の行(RESOURCES = Images.qrc)は、プロジェクトファイルに入力する必要があるものです。もちろん、リソースファイルに使用した名前を使用します。私の場合はImages.qrcです。

0
Jesus Ramirez