c++ - 我应该从 QFileIconProvider 还是 QStyle 获取标准图标?

标签 c++ qt qstyle

这两个类都提供文件夹和文件的标准图标。我应该使用哪一个?它们保证相同吗?

最佳答案

Qt 并不严格保证......然而,在当前的实现中,QFileIconProvider 是使用样式的简写。这不太可能很快改变,这样做是合乎逻辑的……因此,我不再吹毛求疵:是的,这是有保证的。

Qt 是开源的,所以只要看看源代码:https://github.com/qt/qtbase/blob/dev/src/widgets/itemviews/qfileiconprovider.cpp .你有

QIcon QFileIconProvider::icon(IconType type) const
{
    Q_D(const QFileIconProvider);
    switch (type) {
    case Computer:
        return d->getIcon(QStyle::SP_ComputerIcon);
//....
QIcon QFileIconProviderPrivate::getIcon(QStyle::StandardPixmap name) const
{
    switch (name) {
    case QStyle::SP_ComputerIcon:
        if (computer.isNull())
            computer = QApplication::style()->standardIcon(name);
        return computer;
//...

关于c++ - 我应该从 QFileIconProvider 还是 QStyle 获取标准图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44332991/

相关文章:

c++ - 压缩多个嵌套的 For 循环

c++ - 如何在 C++ 中动态存储和访问类型?

c++ - 为什么我的代码为相同的代码生成不同的值

c++ - 我可以使用相同的 QSQLQuery 变量来执行多个语句吗?

qt - 禁用 QGroupBox 标题阴影(又名 eclipse 刻)

qt - 如何将 QPalette 设置回默认系统调色板?

c++ - 为什么这个没有参数的构造函数似乎是这段代码的问题?

c++ - 更有效地遍历原始视频

c++ - 在 QSharedMemory 中存储数据

qt - Qt 小部件的深色主题?