【问题标题】:Should I fetch standard icons from QFileIconProvider or QStyle?我应该从 QFileIconProvider 还是 QStyle 获取标准图标?
【发布时间】:2017-11-04 02:31:02
【问题描述】:

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

【问题讨论】:

    标签: c++ qt qstyle


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-31
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      相关资源
      最近更新 更多