我正在尝试将 Qt 中的标准图标用于 QToolButton,但我遇到了问题。我的代码是:
m_buttonZoomPlus->setIcon(QStyle::standardIcon(QStyle::SP_DesktopIcon));
我收到错误信息:
cannot call member function 'QIcon QStyle::standardIcon(QStyle::StandardPixmap, const QStyleOption*, const QWidget*) const' without object
这是什么意思?我是否必须创建一个空的 QStyle 对象并对其调用 standardIcon 函数?
此外,我在这里找到了标准图标列表:http://doc.trolltech.com/main-snapshot/qstyle.html#StandardPixmap-enum
这个列表是详尽的还是有其他标准图标?例如,我正在寻找放大/缩小图标,但我还没有找到它。
非常感谢您的帮助。
最佳答案
这意味着 standardIcon
不是静态方法,因此您不能那样调用它。您需要构造一个 QStyle
并对其进行适当的初始化,然后您可以使用该方法来获取特定的图标。
编辑:杰里米是对的。如果您不更改样式或定义自己的样式,您可以简单地使用以下内容:
QApplication::style()->standardIcon(QStyle::SP_DesktopIcon);
关于c++ - 标准和 "exotic"图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937035/