我在Qt Designer的MainWindow中使用QAction
添加了QToolBar
(使用Qt Creator IDE),并为Action提供了一个图标(由“选择文件”完成并选择我的。 png位于与我的项目和源代码相同的目录中)。该图标在Qt Designer的工具栏中显示正常,但在项目运行时不显示。在Windows上选择标题栏图标时遇到了类似的麻烦。我以前从未在Qt中使用过图形,我需要做些什么特别的事情吗?
截图:
答案 0 :(得分:13)
我发现自己正在做所有正确的事情,添加一个qrc文件并将我的图标放在那里。当我运行程序没有交易。 结果我忘记了 qmake :
每次更改.pro文件中的内容时,都需要再次运行qmake。创建资源文件会隐式地向.pro文件添加argunments,因此您需要这样做。
希望它可以帮助其他人。
答案 1 :(得分:12)
您是否制作了QRC文件(即Qt相当于资源文件?) 如果没有,这将解释你所看到的。图标将显示在创建者中,但不会显示在最终编译的可执行文件中。看看这个:
答案 2 :(得分:3)
同样在构建阴影的情况下,不要忘记在应用程序可执行文件中使用 windeployqt.exe 。之后,几个文件夹将添加到您的构建目录中。特别是两个重要的文件夹: iconengines 和 imageformats ,其中包含加载和绘制图标所需的几个dll。
答案 3 :(得分:1)
还要确保不要忘记在代码中包含 qrc 文件(例如在 main(...) 中)和 Q_INIT_RESOURCE(MyIconResource);
这也可能导致最终 exe 中缺少图标。
答案 4 :(得分:0)
您是否尝试过打开Project文件?例如,我的项目文件名为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
。
答案 5 :(得分:0)
我也遇到过这样的问题。在我的情况下,我关闭了qt creator并删除了build文件夹(类似 build-projectname .. )。然后重新启动qt creator。然后神奇地我的图标出现在运行的应用程序上。
当qt表现不佳时,我经常使用这个技巧。
答案 6 :(得分:0)