如何修改QToolBars展开(>>)按钮图标

    xiaoxiao2023-11-21  111

    问题描述

    QToolBars默认展开按钮图标样式单调且尺寸偏小,看上去不够明显,如下图所示 因此需要修改"》"图标。

    修改方法

    第1步 自定义style类

    继承自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); }

    第2步 修改css文件,添加qt_toolbar_ext_button对应图标

    QToolBar #qt_toolbar_ext_button{ qproperty-icon:url('xxx.png') }

    效果图

    问题解决,效果如下图所示

    最新回复(0)