在 Windows 上获取默认应用程序图标
Get default app icon on Windows
我想从 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)
但它不起作用,应用程序崩溃了。如何转换?谢谢。
我找到了解决方案。
代码:
QIcon icon = QtWin::fromHICON(LoadIcon(NULL, IDI_APPLICATION));
现在可以了。
您还可以从应用程序对象中获取默认图标。
(可能适用于所有平台。)
QApplication app = QApplication(argc, argv);
QIcon icon = app.windowIcon();
文档link:
http://doc.qt.io/qt-5/qguiapplication.html#windowIcon-prop
该功能在 QGuiApplication
中可用。
QApplication
继承QGuiApplication
.
我想从 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)
但它不起作用,应用程序崩溃了。如何转换?谢谢。
我找到了解决方案。
代码:
QIcon icon = QtWin::fromHICON(LoadIcon(NULL, IDI_APPLICATION));
现在可以了。
您还可以从应用程序对象中获取默认图标。 (可能适用于所有平台。)
QApplication app = QApplication(argc, argv);
QIcon icon = app.windowIcon();
文档link: http://doc.qt.io/qt-5/qguiapplication.html#windowIcon-prop
该功能在 QGuiApplication
中可用。
QApplication
继承QGuiApplication
.