QT Road之【QPen】

细节描述:

QPen类的用途:定义了一个QPainter应如何画线和图形的轮廓。

一个QPen的属性总共有五种:线的格式,线的宽度,线的颜色,线的端点样式,以及线与线之间的链接方式。

其实线的绝大多数函数都是围绕这五个属性来使用的。


下面讲述线的五种属性:


1,Qt::PenStyle

是一个枚举类型,定义了线的种类,总共有以下几种:

  • Qt::NoPen - 根本就没有线。比如,QPainter::drawRect()填充但没有绘制任何边界线。
  • Qt::SolidLine - 一个简单的线。// 默认值
  • Qt::DashLine - 由一些像素分隔的短线。
  • Qt::DotLine - 由一些像素分隔的点。
  • Qt::DashDotLine - 轮流交替的点和短线。
  • Qt::DashDotDotLine - 一个短线,两个点,一个短线,两个点。
  • Qt::MPenStyle - 画笔风格的掩码。

2,Pen Color

定义了线和文本的颜色。关于线的颜色定义在Qcolor的类中。总共有如下19种格式

white, black, red, darkRed, green, darkGreen, blue, darkBlue, cyan, darkCyan, magenta, darkMagenta, yellow, darkYellow, gray, darkGray, lightGray, color0 and color1.

其中默认颜色为Black。




3, Cap Style

定义了线的端点是如何绘制的。包括直角顶点,圆角顶点和 平顶点。(没看出平角和直角的区别

默认值为FlatCap,顶点格式对于零宽度的Pen无效。在WIN95和WIN98上,Cap Style无效。直角顶点在宽线上才会呈现。





关于线的终点,对于非零宽度的线来说,它完全取决于Cap Style。对于零宽度的线来说,QPainter将尽量保证绘制线的终点,但是这不是绝对的,取决于绘制引擎的类型。在所有的测试系统中,所有非对角线的终点是绘制的。



4, Join Style

定义了两条两条相交线的连接点是如何绘制的,

默认格式为倒角链接MiterJoinJoin Style同样对零宽度的线无效。

分别为 倒角链接,斜角链接,圆角链接。




线的这些属性既可以在构造的时候设置,也可以通过函数来设置。

Pens也可以用来比较和传递。即operator=,operator==,和operator!=以及operator<< operator>>

的用意。



成员函数:

QPen::QPen ()

构造默认的黑色实心零宽度的Pen,线的渲染效果为1像素宽。

QPen::QPen ( PenStyle style )

构造黑色零宽度,Pen Style为style的Pen.

QPen::QPen ( const QColor & color, uint width = 0, PenStyle style = SolidLine )

构造颜色为color,宽度为width,Pen Style为style的Pen。

QPen::QPen ( const QColor & cl, uint w, PenStyle s, PenCapStyle c, PenJoinStyle j )

构造一个color cl , width w, pen style  s, pen cap  c 和pen join style  j的Pen。


对于零宽度的线,将通过快速算法产生一个一像素宽的对角线。宽度为1的线也将产生一个一像素的线,但是对角线采用比较慢的但是更精准的算法来绘制。

对于水平线和竖直线来说,零宽度和一宽度没有区别。


QPen::QPen ( const QPen & p )

构造一个P类型的Pen。

QPen::~QPen ()

析构一个Pen

PenCapStyle  QPen::capStyle () const

const QColor &  QPen::color () const

PenStyle QPen::style () const

uint QPen::width () const

PenJoinStyle QPen::joinStyle () const

分别返回Pen的cap style.,color,和join style等。


void QPen::setWidth ( uint w )

bool QPen::operator!= ( const QPen & p ) const

如果两支Pen的styles, widths 和colors没有不同,返回True,否则返回False。

QPen & QPen::operator= ( const QPen & p )

将P 的属性赋值给 this,并返回this pen的引用。


关联函数:


QDataStream & operator<< ( QDataStream & s, const QPen & p )

Writes the pen p to the stream s and returns a reference tothe stream.

See also Format of the QDataStream operators.

QDataStream & operator>> ( QDataStream & s, QPen & p )

Reads a pen from the stream s into p and returns a referenceto the stream.




bool QPen::operator== ( const QPen & p ) const

this 和 P 相同,则为True,否则为False。


void QPen::setCapStyle ( PenCapStyle c )

void QPen::setColor ( const QColor & c )

void QPen::setJoinStyle ( PenJoinStyle j )

void QPen::setStyle ( PenStyle s )

void QPen::setWidth ( uint w )

分别设置线的各种属性。








以下为Qpen的手册内容:http://www.kuqin.com/qtdocument/qpen.html#details

你可能感兴趣的:(QT,Qt,Qpen)