标准和"异国情调"的图标

Leo*_*Leo 3 c++ icons qt qt4

我正在尝试使用Qt中的标准图标来表示QToolButton,但我遇到了问题.我的代码是:

m_buttonZoomPlus->setIcon(QStyle::standardIcon(QStyle::SP_DesktopIcon));
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

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

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

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

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

非常感谢你的帮助.

AJG*_*G85 5

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

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

QApplication::style()->standardIcon(QStyle::SP_DesktopIcon);
Run Code Online (Sandbox Code Playgroud)

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

  • 不要构造QStyle对象,使用QApplication正在使用的相同QStyle对象.例如qApp-> style() - > standardIcon(...); (2认同)