我应该从QFileIconProvider还是QStyle中获取标准图标?

3

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

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;
//...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接