gpt4 book ai didi

c++ - QFileSystemModel 自定义图标?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:20:07 26 4
gpt4 key购买 nike

在我的项目中,我有一个 QTreeView 显示我的驱动器上的一个位置。我需要将文件的所有图标更改为自定义图标,但不要管文件夹。

我重新实现了 QFileSystemModel,并且能够更改所有图标。有什么方法可以将更改限制为仅文件而不是文件夹?

QVariant MyQFileSystemModel::data(const QModelIndex& index, int role) const
{
if(role == Qt::DecorationRole)
return QPixmap(":/icons/TAG_Int.png");
return QFileSystemModel::data(index, role);
}

这个:

enter image description here

变成:

enter image description here

如何只更改文件的图标?

感谢您的宝贵时间:)

最佳答案

我回答了我自己的问题:

QVariant MyQFileSystemModel::data( const QModelIndex& index, int role ) const {
if( role == Qt::DecorationRole )
{
QFileInfo info = MyQFileSystemModel::fileInfo(index);

if(info.isFile())
{
if(info.suffix() == "dat")
return QPixmap(":/icons/File_Icon.png");//I pick the icon depending on the extension
else if(info.suffix() == "mcr")
return QPixmap(":/icons/Region_Icon.png");
}
}
return QFileSystemModel::data(index, role);
}

关于c++ - QFileSystemModel 自定义图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com