3

我正在尝试将 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

这个列表是详尽的还是有其他标准图标?我正在寻找例如放大/缩小图标,但我还没有找到它。

非常感谢您的帮助。

4

1 回答 1

5

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

编辑:杰里米是对的。如果您不更改样式或定义自己的样式,则可以简单地使用以下内容:

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

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

于 2012-06-07T17:49:35.663 回答