//for starf study
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
#include<QBrush>
#include <QPen>
#include <QColor>
//QPen类定义了QPainter应该如何绘制形状的线条和轮廓。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPen penA = QPen( Qt::SolidLine); //构造一支具有1个宽度和给定样式的黑色笔
//可选样式属于emnu Qt:PenStyle:
/*
Qt::NoPen(0) 没有线条,如果图像使用这种画笔,那么图形虽然可以绘画填充,但是没有边框
Qt::SolidLine(1) 实线
Qt::DashLine(2) 虚线 由几个像素分隔的虚线。实线部分多,分隔部分少。如:_ _ _ _ _ _ 而且分布均匀
//这种视为连续的横线
Qt:Qt::DotLine(3) 虚线 由更多像素隔开的虚线。实线部分少,分隔部分多。如:. . . . . 而且分布均匀
//这种视为连续的点
Qt::DashDotLine(4) 虚线 一个横线和一个点交替连接。如:_ . _ . _ . _ . _
Qt::Qt::DashDotDotLine(5) 虚线 一个横线和两个点交替连接。 如:_ .. _ .. _ ..
Qt::CustomDashLine(6) //设置这个参数 用户需要用QPainterPathStroker::setDashPattern().函数自定义样式
*/
QPen penB = QPen(QColor("red"));// 构造一支具有1个宽度和给定颜色的实线笔
QPen penC = QPen(QBrush(),100,Qt::SolidLine,Qt::FlatCap,Qt::MiterJoin);//使用指定的画笔、宽度、线头样式、笔帽样式和连接样式构造笔。
//第一个参数为画刷
//第二个参数是宽度
//第三个参数是线样式
//第四个参数是线头样式 Qt::FlatCap 不覆盖直线端点的正方形直线端点。
// Qt::SquareCap 一种覆盖端点并超出其一半线宽的正方形线条端点。
// Qt::RoundCap 一条圆形的断点
//第五个参数是 笔连接样式,即可以使用QPaint绘制两条连接线之间的连接。
// Qt::MiterJoin 线条的外边缘延伸成一定角度,并填充该区域。
//Qt::BevelJoin 两条线之间的三角形缺口被填满。
//Qt::RoundJoin 两条线之间的圆弧被填充。
QBrush br = penC.brush(); //返回用于填充此笔生成的笔划的画笔。
qDebug()<<penC.capStyle(); //返回用于此笔的线头样式
qDebug()<<penC.color(); //返回画笔颜色
qDebug()<<penC.dashOffset(); //返回画笔的横线偏移量。当画笔模式选择了由横线构成的画笔类型才有
qDebug()<<penC.isSolid(); //如果画笔有实心填充,则返回true,否则返回false。
qDebug()<<penC.joinStyle(); // 连接样式
qDebug()<<penC.miterLimit(); //返回笔的斜接限制。斜接限制仅在连接样式设置为Qt::MiterJoin时才相关。
qDebug()<<penC.style(); //返回画笔样式
qDebug()<<penC.width(); //返回画笔宽度
qDebug()<<penC.widthF(); //返回画笔宽度
penC.setBrush(QBrush());
penC.setCapStyle( Qt::SquareCap);
penC.setColor(QColor(12,12,12,12));
penC.setDashOffset(122);//这会隐式地将笔的样式转换为Qt::CustomDashLine。
penC.setJoinStyle(Qt::RoundJoin);
penC.setMiterLimit(100); //这个属性是指连接点连接可以从连接点延伸多远。这用于减少直线连接之间的瑕疵
penC.setStyle(Qt::DashLine);
penC.setWidth(120);
penC.setWidthF(12.0);
//这些设置函数用于设置画笔的各个参数
}
MainWindow::~MainWindow()
{
delete ui;
}
QPen方法功能(QT5.12)
最新推荐文章于 2025-03-24 10:45:09 发布