Qt - QStyle类用法总结

一、简述:

Qt中每个控件的绘制工作不是由控件本身来完成,而是由QStyle完成的。
如果你想开发自定义的widgets且它们在所有的平台上看起来外观效果都非常好,那么你应该用QStyle类的相关函数去执行窗体部分区域的绘制,像:drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl(), and drawComplexControl()函数。

设置风格

QApplication提供两个静态函数切换一个应用程序的界面风格:
static void setstyle(QStyle*);
static QStyle* setStyle(const QString& style);

自定义风格的窗体

控件将所有风格分为三类:基本元素(PE_)、控件元素(CE_)和复杂控件元素(CC_),QStyle的虚函数drawPrimitive、drawControl和drawComplexControl负责绘制这些类别的风格元素。

以上QStyle类的绘制函数接受4个参数:

  1. 枚举值,该枚举值指定哪种类型的图形元素被绘制。
  2. QStyleOption 类型参数。该参数指示怎么绘制、在哪个地方绘制图形元素。
  3. QPainter类型参数。该参数被用来绘制图形元素。
  4. QWidget类型参数(参数可选)。表示在widget上执行绘制;

示例:

void Widget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

	QStyleOptionButton button;
    button.rect = option.rect;
    button.text = "按钮";
    button.state |= QStyle::State_Enabled;

    QApplication::style()->drawControl(QStyle::CE_PushButton, &button, painter);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值