标准和“异国情调”的图标

时间:2012-06-07 17:44:52

标签: c++ qt qt4 icons

我正在尝试将Qt中的标准图标用于QToolButton,但我遇到了问题。我的代码是:

m_buttonZoomPlus->setIcon(QStyle::standardIcon(QStyle::SP_DesktopIcon));

我收到错误消息:

  

无法调用成员函数'QIcon QStyle :: standardIcon(QStyle :: StandardPixmap,const QStyleOption *,const QWidget *)const'无对象

这是什么意思?我是否必须创建一个空的QStyle对象并在其上调用standardIcon函数?

此外,我在这里找到了一个标准图标列表:http://doc.trolltech.com/main-snapshot/qstyle.html#StandardPixmap-enum

此列表是否详尽或是否有其他标准图标?我正在寻找放大/缩小图标的例子,我还没有找到它。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:5)

这意味着standardIcon不是静态方法,因此您无法以这种方式调用它。您需要构造一个QStyle并对其进行适当的初始化,然后您可以使用该方法获取特定的图标。

编辑:杰里米是对的。如果您没有更改样式或定义自己的样式,只需使用以下内容:

QApplication::style()->standardIcon(QStyle::SP_DesktopIcon);

参考:http://doc.qt.io/qt-5/qstyle.html#standardIcon