zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt之QFileIconProvider

Qt
2023-09-11 14:19:13 时间
0x00000001 始终使用默认的目录图标。有些平台允许用户设置不同的图标,自定义图标在网络或可移动驱动上查找会造成一个很大的性能影响。

Options options() const
获取所有影响QFileIconProvider的选项。默认情况下,所有选项被禁用。

void QFileIconProvider::setOptions(Options options)
设置所有影响QFileIconProvider的选项。

QString type(const QFileInfo info) const
获取QFileInfo文件信息对应的类型描述。


这里写图片描述

QListWidget *pListWidget = new QListWidget(this);

pListWidget- setIconSize(QSize(48, 48)); // 设置单元项图片大小

pListWidget- setResizeMode(QListView::Adjust); // 设置大小模式-可调节

pListWidget- setViewMode(QListView::IconMode); // 设置显示模式

pListWidget- setMovement(QListView::Static); // 设置单元项不可被拖动

pListWidget- setSpacing(10); // 设置单元项间距

for (int i = 0; i = 6; ++i)

 // 获取图标

 QFileIconProvider provider;

 QIcon icon = provider.icon((QFileIconProvider::IconType)i);

 // 添加单元项

 QListWidgetItem *pItem = new QListWidgetItem(pListWidget);

 pItem- setIcon(icon);

 pListWidget- addItem(pItem);

}

这里写图片描述

QStringList strList;

strList QString::fromLocal8Bit("新建文件夹") QString::fromLocal8Bit("新建公文包")

 QString::fromLocal8Bit("不存在此文件.exe") QString::fromLocal8Bit("新建 360压缩 ZIP 文件.zip")

 QString::fromLocal8Bit("新建 HTTP Archive File.har") QString::fromLocal8Bit("新建 HttpWatch Log File.hwl")

 QString::fromLocal8Bit("新建 Microsoft Access 数据库.accdb") QString::fromLocal8Bit("新建 Microsoft Excel 工作表.xlsx")

 QString::fromLocal8Bit("新建 Microsoft PowerPoint 演示文稿.pptx") QString::fromLocal8Bit("新建 Microsoft Word 文档.docx")

 QString::fromLocal8Bit("新建日记本文档.jnt") QString::fromLocal8Bit("新建文本文档.txt");

for (int i = 0; i strList.count(); ++i)

 QFileInfo info;

 info.setFile(QString("E:\\%1").arg(strList.at(i)));

 // 获取图标、类型

 QFileIconProvider provider;

 QIcon icon = provider.icon(info);

 QString strType = provider.type(info);

 // 添加单元项

 QListWidgetItem *pItem = new QListWidgetItem(pListWidget);

 pItem- setIcon(icon);

 pItem- setText(strType);

 pListWidget- addItem(pItem);

}

这里需要注意,如果要获取文件相关的信息 - 图标、类型,那么,本地必须存在这些文件。如果不存在,那么图标不会显示,而且类型会变为Unknow(如图:不存在此文件.exe)。

那么,如果想要通过不存在的文件获取相关的信息该如何处理呢?下节我们分享。


该类提供了一个到 FTP 的直接接口,允许对请求有更多的控制。但是,对于新的应用程序,建议使用 QNetworkAccessManager 和 QNetworkReply,因为这些类拥有一个更简单、还更强大的 API。
QTimeLine 类提供了用于控制动画的时间轴,通常用于通过定期调用一个槽函数来动画一个 GUI 控件。 相信了解动画的人对帧应该不陌生,可以把一个动画想象成由很多张静态画面组成,而每一个画面就是一帧图像。每隔一定时间间隔就显示一帧图像,当该间隔较短时,人眼就感觉不出来了,觉得看到的是连续的影像。
滚动区域用于显示一个画面中的子部件的内容。如果部件超过画面的大小,视图可以提供滚动条,这样就都可以看到部件的整个区域。
QHostAddress通常与QTcpSocket、QTcpServer、QUdpSocket一起使用,来连接到主机或建立一个服务器。 可以通过setAddress()来设置一个主机地址,使用toIPv4Address()、toIPv6Address
大小策略会影响布局引擎处理部件的方式,部件加入布局以后,会返回一个QSizePolicy,描述了其水平和垂直方向的大小策略。可以通过QWidget::sizePolicy属性为特定部件设置大小策略。
QPropertyAnimation以Qt属性做差值,作为属性值存储在QVariants中,该类继承自QVariantAnimation,并支持基类相同的元类型动画。 声明属性的类必须是一个QObject,为了能够让属性可以用做动画效果,必须提供一个setter(这样,QPropertyAnimatio