QToolBars默认展开按钮图标样式单调且尺寸偏小,看上去不够明显,如下图所示 因此需要修改"》"图标。
继承自QProxyStyle类,编写自己的style类,在pixelMetric方法中指定对应图标的大小,例子代码如下 .h文件
#ifndef MYSTYLE_H #define MYSTYLE_H #include <QProxyStyle> class MyStyle : public QProxyStyle { Q_OBJECT public: MyStyle(); ~MyStyle(); int pixelMetric(PixelMetric m, const QStyleOption *opt = 0, const QWidget *widget = 0) const; private: QIcon _toolBarExtendButtonIcon; }; #endif // MYSTYLE_H.cpp文件
#include "mystyle.h" MyStyle::MyStyle() { _toolBarExtendButtonIcon = QIcon("xxxx.png"); } MyStyle::~MyStyle() { } int MyStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWidget *widget) const { if (m == QStyle::PM_ToolBarExtensionExtent) return 20;//指定"《"按钮大小 if(m == QStyle::PM_SmallIconSize) return 52;//指定下拉小图标大小 return QProxyStyle::pixelMetric(m, opt, widget); }问题解决,效果如下图所示