c++ - 标准和 "exotic"图标

标签 c++ qt qt4 icons

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

引用:http://doc.qt.io/qt-5/qstyle.html#standardIcon

关于c++ - 标准和 "exotic"图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937035/

相关文章:

c++ - 向下转换基本类型

c++ - 在 C++ 纯虚函数上应用 "using"关键字

c++ - vector<string> 数组发生了什么?

c++ - Qt OpenGL 更新非常慢

c++ - qt binarycreator 不创建 dmg

c++ - 将现有的 QTcpSocket 变形为 QSslSocket

Google map 中多个标记的 URL

c++ - MATLAB 中的 mysql.cpp 编译错误

macos - Qt 4.8 - 在 mac-mini (OS X Lion) 上检测 SD 卡的插入和移除

c++ - Windows 中的动态库链接问题