自定义QMenu图标大小

43 篇文章 14 订阅


上代码:

///
// QMenu的大图标定义
///

#ifndef CUSTOMICONSTYLE_H
#define CUSTOMICONSTYLE_H

#include <QCommonStyle>

class CustomIconStyle : public QCommonStyle
{
	Q_OBJECT

public:
	CustomIconStyle();
	~CustomIconStyle();

	void SetCustomSize(int);

	//protected:
	virtual int pixelMetric(PixelMetric metric, const QStyleOption * option, const QWidget * widget) const;

private:
	int mSize;
};

#endif // CUSTOMICONSTYLE_H

#include "CustomIconStyle.h"

CustomIconStyle::CustomIconStyle()
{
	mSize = 20;
}

CustomIconStyle::~CustomIconStyle()
{

}


void CustomIconStyle::SetCustomSize( int nSize )
{
	mSize = nSize;
}

int CustomIconStyle::pixelMetric( PixelMetric metric, const QStyleOption * option, const QWidget * widget ) const
{
	int s = QCommonStyle::pixelMetric(metric, option, widget);
	if (metric == QStyle::PM_SmallIconSize) {
		s = mSize;
	}

	return s;
}

调用方法:

CustomIconStyle* pStyle = new CustomIconStyle;
	mpMikeMenu->setStyle(pStyle);


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值