2026/4/12 5:20:42
网站建设
项目流程
德州定制网站建设公司,网站建设手机端是什么意思,可以做图片视频的网站,wordpress html 代码编辑器插件下载QPen 是 Qt 框架中用于定义 线条绘制样式 的类#xff0c;主要配合 QPainter 使用#xff0c;控制所绘图形轮廓#xff08;如线条、多边形边框等#xff09;的外观。其成员构成可分为以下几个方面#xff1a;一、核心属性#xff08;可通过 getter/setter 访问#xff0…QPen是 Qt 框架中用于定义线条绘制样式的类主要配合QPainter使用控制所绘图形轮廓如线条、多边形边框等的外观。其成员构成可分为以下几个方面一、核心属性可通过 getter/setter 访问属性获取函数设置函数说明颜色color()setColor(const QColor )实际上是笔刷brush的颜色快捷方式笔刷brush()setBrush(const QBrush )控制线条填充内容支持渐变、纹理等线宽width()/widthF()setWidth(int)/setWidthF(qreal)整数或浮点精度的线宽0 表示“ cosmetic pen”始终 1 像素线型style()setStyle(Qt::PenStyle)如Qt::SolidLine,Qt::DashLine,Qt::DotLine,Qt::CustomDashLine等端点样式capStyle()setCapStyle(Qt::PenCapStyle)如Qt::FlatCap,Qt::SquareCap,Qt::RoundCap连接样式joinStyle()setJoinStyle(Qt::PenJoinStyle)如Qt::BevelJoin,Qt::MiterJoin,Qt::RoundJoin斜接限制miterLimit()setMiterLimit(qreal)控制Qt::MiterJoin的最大长度虚线偏移dashOffset()setDashOffset(qreal)自定义虚线起始偏移量虚线模式dashPattern()setDashPattern(const QListqreal )定义交替的“划-空”序列单位为线宽是否为 Cosmetic PenisCosmetic()setCosmetic(bool)若为 true则线宽不受变换如缩放影响二、构造函数QPen(); // 默认黑色、宽度1、实线、SquareCap、BevelJoin QPen(Qt::PenStyle style); QPen(const QColor color); QPen(const QBrush brush, qreal width, Qt::PenStyle style Qt::SolidLine, Qt::PenCapStyle cap Qt::SquareCap, Qt::PenJoinStyle join Qt::BevelJoin); QPen(const QPen pen); // 拷贝构造 QPen(QPen pen); // 移动构造C11三、其他成员函数bool isSolid() const判断是否为实线非虚线/点线等void swap(QPen other)高效交换两个QPen对象operator QVariant() const支持转换为QVariant比较运算符operator,operator!赋值运算符包括 C23/Qt6.9 新增的operator(QColor)operator(Qt::PenStyle)四、相关非成员函数用于序列化QDataStream operator(QDataStream stream, const QPen pen); QDataStream operator(QDataStream stream, QPen pen);五、默认值总结颜色黑色Qt::black宽度1样式Qt::SolidLine端点样式Qt::SquareCap连接样式Qt::BevelJoin笔刷纯色黑色与颜色一致Cosmeticfalse但宽度为 0 时行为等效于 cosmetic六、使用示例QPainter painter(this); QPen pen(Qt::red, 2, Qt::DashDotLine, Qt::RoundCap, Qt::RoundJoin); painter.setPen(pen); painter.drawLine(10, 10, 100, 100);或分步设置QPen pen; pen.setColor(Qt::blue); pen.setWidth(3); pen.setStyle(Qt::DotLine); pen.setCapStyle(Qt::RoundCap); pen.setJoinStyle(Qt::MiterJoin); painter.setPen(pen);如需进一步了解Qt::PenStyle、Qt::PenCapStyle、Qt::PenJoinStyle的具体枚举值也可以继续提问。