qpen
public:
QPen();
QPen(Qt::PenStyle);
QPen(const QColor &color);
QPen(const QBrush &brush, qreal width, Qt::PenStyle s = Qt::SolidLine,
Qt::PenCapStyle c = Qt::SquareCap, Qt::PenJoinStyle j = Qt::BevelJoin);
QPen(const QPen &pen);
~QPen();
QPen &operator=(const QPen &pen);
#ifdef Q_COMPILER_RVALUE_REFS
inline QPen &operator=(QPen &&other)
{ qSwap(d, other.d); return *this; }
#endif
inline void swap(QPen &other) { qSwap(d, other.d); }
Qt::PenStyle style() const;
void setStyle(Qt::PenStyle);
QVector<qreal> dashPattern() const;
void setDashPattern(const QVector<qreal> &pattern);
qreal dashOffset() const;
void setDashOffset(qreal doffset);
qreal miterLimit() const;
void setMiterLimit(qreal limit);
qreal widthF() const;
void setWidthF(qreal width);
int width() const;
void setWidth(int width);
QColor color() const;
void setColor(const QColor &color);
QBrush brush() const;
void setBrush(const QBrush &brush);
bool isSolid() const;
Qt::PenCapStyle capStyle() const;
void setCapStyle(Qt::PenCapStyle pcs);
Qt::PenJoinStyle joinStyle() const;
void setJoinStyle(Qt::PenJoinStyle pcs);
bool isCosmetic() const;
void setCosmetic(bool cosmetic);
bool operator==(const QPen &p) const;
inline bool operator!=(const QPen &p) const { return !(operator==(p)); }
operator QVariant() const;
bool isDetached();
public:
typedef QPenPrivate * DataPtr;
inline DataPtr &data_ptr() { return d; }