我想从QFileIconProvider
获取默认应用程序图标,但只有:
枚举QFileIconProvider :: IconType
QFileIconProvider::Computer
QFileIconProvider::Desktop
QFileIconProvider::Trashcan
QFileIconProvider::Network
QFileIconProvider::Drive
QFileIconProvider::Folder
QFileIconProvider::File
截图:
我可以导航到一些没有图标的系统可执行文件,使用QFileIconProvider
获取此默认图标,但我认为应该有另一种方法。
如何获得这个图标?感谢。
更新
我找到了默认应用图标的标识符 - IDI_APPLICATION
。现在的问题是如何将其转换为QIcon
或QString
?我尝试了QString::fromWCharArray(IDI_APPLICATION)
和QString::fromStdWString(IDI_APPLICATION)
,但它不起作用,应用程序崩溃了。如何转换呢?感谢。
答案 0 :(得分:1)
我找到了解决方案。
<强>代码:强>
QIcon icon = QtWin::fromHICON(LoadIcon(NULL, IDI_APPLICATION));
现在可行。
答案 1 :(得分:0)
您还可以从应用程序对象中获取默认图标。 (可以在所有平台上运行。)
QApplication app = QApplication(argc, argv);
QIcon icon = app.windowIcon();
文档链接: http://doc.qt.io/qt-5/qguiapplication.html#windowIcon-prop
该功能在QGuiApplication
中可用。
QApplication
继承QGuiApplication
。