3

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

4

1 回答 1

4

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;
//...
于 2017-06-02T16:37:30.877 回答