Qt MenuBar自定义Icon大小

      提到QMenu中如何定制Icon的大小,第一个想到的是使用qss来修改样式,便尝试了如下语句:

QMenu::icon
{ width: 24px;height: 24px;
}

但是经尝试,这个办法并未奏效,QMenu中图标大小,默认为16*16,是从QStyle中读取而来,我们可以通过自定义一个QStyle来实现修改图标大小,下面给出具体实现方式。

class CustomStyle : public QProxyStyle
{Q_OBJECTpublic:virtual int pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const{if (metric == QStyle::PM_SmallIconSize) {return 24;}  return QProxyStyle::pixelMetric(metric, option, widget);}
};

然后将自定义风格设置到QMenu上即可:

QMenu *menu = new QMenu(this);  
CustomStyle *style = new CustomStyle();  
menu->setStyle(style);

自定风格前的效果:

 把Icon大小改夸张一点:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部