【发布时间】:2020-05-12 02:52:46
【问题描述】:
简介
我需要为 .exe 文件、我的应用程序窗口的左上角和任务栏 (Windows 10) 设置一个图标。但是它只能部分工作-我可以设置 .exe 图标,仅此而已。在其他两个地方我有默认图标。我在 Visual Studio 2017 中使用 QT 5.9.7。
到目前为止我测试的内容
我的.rc 文件中有以下行:
IDI_ICON1 ICON "favicon.ico"
这让我有 .exe 图标。但它似乎不影响框架的其余部分。我试图以这种方式设置应用内图标 (main.cpp):
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowIcon(QIcon(":/favicon.ico"));
// a.setWindowIcon also doesn't work.
return a.exec();
}
甚至在mainwindow.cpp内部
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowIcon(QIcon(":/favicon.ico"));
}
但是它似乎被忽略了 - 它没有效果,也没有给我任何错误。我还尝试在THIS 指令之后包含imageformats/qico.dll - 仍然没有运气。
问题
那么 - 如何正确设置这两个图标 - 在 Windows 任务栏和我的应用程序窗口的角落?
编辑:
添加qrc文件也不能解决问题。
【问题讨论】:
-
一个快速的谷歌出现了doc.qt.io/qt-5/appicon.html
-
嗨@AlanBirtles,再看看我的问题。我已经这样做了,它只设置了 .exe 文件的图标。所以不是解决方案。
-
您的图标需要位于
qrc文件中才能使用:/favicon.ico文件名:doc.qt.io/qt-5/resources.html 加载 -
再一次 - 我不使用 QT Creator,我使用 Visual Studio。我尝试将其添加到
qrc进行测试,但没有任何改变。我认为 Visuals Studio 根本不使用qrc文件。 -
我不认为使用Visual Studio 是相关的,QT 仍然只从它自己的资源系统而不是从Windows 可执行资源加载资源
标签: c++ visual-studio qt icons