Qt之根据扩展名获取文件图标、类型
2023-09-27 14:19:43 时间
简述
在C++根据扩展名获取文件图标、类型一节中我们分享了如何根据扩展名来获取对应的文件图标、类型,下面。我们在Qt中使用它。
示例
如下,我们根据扩展名来获取对应的文件图标、类型。
效果
源码
首先在pro中添加winextras模块:
QT += winextras
然后,在源码中包含:#include <QtWin>
,之后,方可使用。
std::string strArray[13] = {"folder", ".exe", ".zip", ".har", ".hwl", ".accdb",
".xlsx", ".pptx", ".docx", ".txt", ".h", ".cpp", ".pro"};
int nCount = sizeof(strArray) / sizeof(std::string);
for (int i = 0; i < nCount ; ++i)
{
// 获取图标、类型
QPixmap pixmap;
std::string type;
int nPos = -1;
nPos = strArray[i].find(".");
if (nPos >= 0)
{
// Qt4:QPixmap::fromWinHICON(icon)
pixmap = QtWin::fromHICON(fileIcon(strArray[i]));
type = fileType(strArray[i]);
}
else
{
pixmap = QtWin::fromHICON(folderIcon());
type = folderType();
}
QIcon icon;
icon.addPixmap(pixmap);
QString strType = QString::fromLocal8Bit(type.c_str());
// 添加单元项
QListWidgetItem *pItem = new QListWidgetItem(pListWidget);
pItem->setIcon(icon);
pItem->setText(strType);
pListWidget->addItem(pItem);
}
在Qt4中,可以通过QPixmap::fromWinHICON(HICON)来转换,但是,到了Qt5以后此接口已经被遗弃了,所以这里使用QtWin::fromHICON(HICON)。
更多参考
相关文章
- Qt之添加Windows资源文件(.rc文件)
- Qt之QFileIconProvider(根据扩展名获取文件图标、类型)
- Qt之等待提示框(QTimer)
- 【Linux开发】【Qt开发】交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
- qt creator 快捷键 (二)
- d指针在Qt上的应用及实现
- QT笔记:数据库总结
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否首列跨所有列展示属性isFirstColumnSpanned
- 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容
- PyQt(Python+Qt)学习随笔:exit code 1073741845与槽函数所在对象不能定义同名实例方法问题
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的样式表styleSheet属性
- PyQt学习随笔:Qt中Item Views(Model-Based)和Item Widgets(Item-Based)控件的用途和关系
- 2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理
- QT解析嵌套JSON表达式
- 28.QT-QPainter介绍
- C++中的queue类、QT中的QQueue类
- qt在不同系统上读写文件以二进制数据流处理数据时严重注意问题0x0a变成0x0d 0x0a问题!
- qt使用qxlsx实现xlsx、xls表格文件快速写入和读取
- Qt 2D绘图之一:基本图形绘制和渐变填充
- Qt文本读写之一:输入输出设备和文件操作
- Qt实现客户端与服务器消息发送
- Qt:ui文件no member named actionXXX 解决方案