给定2 个点,使用drawLine()画一条线。 void MainWidget::paintEvent(QPaintEvent *) { QPainter painter(this); painter.drawLine(30, 30, 150, 150); } drawLine() 有什么用?例如可以用来画网格线: img void GridWidget::paintEvent(QPaintEvent *) { QPainter painter(this); painter.translate(30, 30...
typedefstruct myLine{ QPoint startPnt; QPoint endPnt; }myLine; class MyPainterWidget:public QWidget { public: MyPainterWidget(QWidget* parent); ~MyPainterWidget(); //继承 void paintEvent(QPaintEvent* p); void mousePressEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *e); void mou...
QPainter::drawLine:绘制线 QPainter::drawRect:绘制矩形 QPainter::drawRoundedRect:绘制圆角矩形 QPainter::drawPolyline:绘制折线,即多个首尾相连的线 QPainter::drawPolygon:绘制折线形,即多边形 QPainter::drawEllipse:绘制圆形 QPainter::drawArc:绘制圆弧 QPainter::drawPie:绘制扇形 QPainter::drawChord:绘制...
QPainter提供了绘制大多数基本体的函数:drawPoint()、drawPoints()、drawLine()、drawRect()、drawRoundedRect()、drawEllipse()、drawArc()、drawPie()、drawChord()、drawPolyline()、drawPolygon()、drawConverExpolygon()和drawCubicBezier()。drawRects()和drawLines()这两个函数使用当前的画笔在给定的QRects...
回忆一下,使用QPainter绘图多是采用一种面向过程的描述方式,首先使用drawLine()画一条直线,然后使用 drawPolygon()画一个多边形;而对于Graphics View来说,相同的过程可以是,首先创建一个场景scene,然后创建一个line对象和一个polygon对象,再使用scene的add()函数将 line和polygon添加到scene,最后通过视口view就...
处理绘图事件时,通常需要创建一个QPainter对象,并将其绑定到需要绘制的窗口部件上。接下来可以调用QPainter的各种绘制方法,如drawLine()、drawRect()、drawText()等。完成绘制后,销毁QPainter对象。 QWidget::paintEvent()方法 在自定义的窗口部件中,需要重写QWidget::paintEvent()方法以处理绘图事件。paintEvent()方...
drawLine(QPointF(0, height()), QPointF(width() / 2, height() / 2)); } 首先我们通过 setRenderHint() 来设置反走样,要么绘制出来的线条会出现锯齿,调用 setPen() 来设置画笔颜色(淡蓝色)。最后调用 drawLine() 来实现直线的绘制,其中 QPointF(0, height()) 是指直线的起点坐标、QPointF(width() /...
drawPie 绘制扇形和绘制圆弧的参数类似,可参考绘制圆弧。 QPainter坐标转换: translate 如执行painter.translate(100, 100),后续绘制的参考坐标变成了相对100, 100位置而言的。执行painter.drawLine(0, 0, 0, 20),实际绘制直线的两端点是(100, 100)和(100, 120) ...
// 设置画笔的宽度就可以了QPen pen;pen.setWidth(5);painter.setPen(pen);
void LineChartWidget::paintEvent(QPaintEvent *event){QPainter painter(this);painter.begin(this);painter.setRenderHint(QPainter::Antialiasing);// 设置画笔样式QPen pen(Qt::black, 1, Qt::SolidLine);painter.setPen(pen);// 绘制坐标轴painter.drawLine(40, 260, 40, 20);painter.drawLine(40, 260...