QStylePainter Class

Header:#include < QStylePainter >
qmake:QT += widgets
Inherits:QPainter

Public Functions

QStylePainter(QPaintDevice *pd, QWidget *widget)
QStylePainter(QWidget *widget)
QStylePainter()
bool begin(QWidget *widget)
bool begin(QPaintDevice *pd, QWidget *widget)
void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
void drawControl(QStyle::ControlElement ce, const QStyleOption &option)
void drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
void drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = ...)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
QStyle *style() const

Detailed Description

QStylePainter扩展了QPainter,在QStyle的API上实现了一组高级的draw…()函数。使用QStylePainter的优点是参数列表变得相当短。然而,QStyle对象必须能够使用任何画家在任何小部件上绘图(因为应用程序通常有一个由所有小部件共享的QStyle对象),QStylePainter是用小部件初始化的,从而消除了为每个函数调用指定QWidget、QPainter和QStyle的需要。
直接使用QStyle的例子:

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

      QStyleOptionFocusRect option;
      option.initFrom(this);
      option.backgroundColor = palette().color(QPalette::Background);

      style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
  }

使用QStylePainter的例子:

  void MyWidget::paintEvent(QPaintEvent * /* event */)
  {
      QStylePainter painter(this);

      QStyleOptionFocusRect option;
      option.initFrom(this);
      option.backgroundColor = palette().color(QPalette::Background);

      painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
  }

See also QStyle and QStyleOption.

Member Function Documentation

QStylePainter::QStylePainter(QPaintDevice *pd, QWidget *widget)
	使用pd构建一个QStylePainter作为它的绘画设备,并使用widget的属性。
QStylePainter::QStylePainter(QWidget *widget)
	使用小部件widget为其绘制设备构造一个QStylePainter。
QStylePainter::QStylePainter()
	Constructs a QStylePainter.
bool QStylePainter::begin(QWidget *widget)
	在指定的小部件上开始绘制操作。如果画家已准备好使用,则返回true;否则返回false。
	这是由接受QWidget的构造函数自动调用的。
bool QStylePainter::begin(QPaintDevice *pd, QWidget *widget)
	这是一个重载函数。
	在绘制设备pd上开始绘制操作,就像它是一个小部件一样。
	这是由接受QPaintDevice和QWidget的构造函数自动调用的。
void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
	使用小部件的样式绘制由QStyleOptionComplex选项指定的复杂控件cc。
See also QStyle::drawComplexControl().
void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &option)
	使用小部件的样式绘制由QStyleOption选项指定的控件元素。
See also QStyle::drawControl().
void QStylePainter::drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
	在矩形矩形中绘制像素图。像素图根据标志对齐。
See also QStyle::drawItemPixmap() and Qt::Alignment.
void QStylePainter::drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = ...)
	以矩形矩形和调色板矩形绘制文本。文本根据标志进行对齐和换行。
	笔的颜色由textRole指定。enabled bool表示项目是否被启用;当重新实现这个bool值时,应该会影响项目的绘制方式。
See also QStyle::drawItemText() and Qt::Alignment.
void QStylePainter::drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
	使用小部件的样式绘制由QStyleOption选项指定的基本元素类型。
See also QStyle::drawPrimitive().
QStyle *QStylePainter::style() const
	返回QStylePainter使用的当前样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值