网站分站是怎么做的乐清发布网
news/
2025/9/24 20:15:44/
文章来源:
网站分站是怎么做的,乐清发布网,外贸网站建设ppt模板,广告营销策划QT画图功能
每个QWidget都自带的功能#xff0c;继承了QPainteDevice都可以使用QPainter来进行绘图。 画图需要调用paintEvent绘制事件#xff0c;paintEvent事件时QWidget类自带的事件。 重写paintEvent事件。#xff08;重写事件#xff1a;如果父类有某个方法#xff…QT画图功能
每个QWidget都自带的功能继承了QPainteDevice都可以使用QPainter来进行绘图。 画图需要调用paintEvent绘制事件paintEvent事件时QWidget类自带的事件。 重写paintEvent事件。重写事件如果父类有某个方法此时子类需要有一个跟父类同样方法名称的 实例化对象写法 //实例化QPainter painter(this);//相当于QPainter *painter new QPainter(this);画直线举例 0,0表示起点300,300表示终点。
void Widget::paintEvent(QPaintEvent *event)
{//实例化 属于局部变量QPainter painter(this);//相当于QPainter *painter new QPainter(this);//绘制线painter.drawLine(0,0,300,300);
}设置渲染模式使得平滑渲染 //设置曲线的平滑度painter.setRenderHint(QPainter::Antialiasing,true);绘制弧线 //30 30 表示开始绘制位置 100 100 表示绘制绘制范围宽高3016表示起始弧度14016表示跨越弧度 角度*16 弧度 //绘制曲线(弧线)painter.drawArc(30,300,100,100,30*16,140*16);绘制饼图 //绘制饼图painter.drawPie(50,50,100,100,0,90*16);绘制矩形 //绘制矩形painter.drawRect(200,200,100,100);绘制并填充 QBrush表示笔刷对象 QColor表示颜色对象
//填充painter.fillRect(100,100,100,100,QBrush(QColor(255,0,0)));绘制文字
painter.drawText(300,210,水平轴);#ifndef WIDGET_H
#define WIDGET_H#include QWidget
//添加绘制者头文件
#include QPainter#includeQString
namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent 0);~Widget();private:Ui::Widget *ui;//重写绘制事件 快捷键altenter 定义具体的事件void paintEvent(QPaintEvent *event);};#endif // WIDGET_H
#include widget.h
#include QApplicationint main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui-setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::paintEvent(QPaintEvent *event)
{//实例化 属于局部变量QPainter painter(this);//相当于QPainter *painter new QPainter(this);//绘制原点 文字painter.drawText(10,210,0);//绘制坐标轴 X轴painter.drawLine(10,200,310,200);//分割水X平轴for(int i 2;i 31;i){painter.drawLine(10*i,195,10*i,200);if(i%4 0)//每4个点画一次{painter.drawText(10*i,210,QString::number(10*i));}}//水平X轴的坐标文字painter.drawText(310,210,水平轴);//绘制坐标轴 Y轴painter.drawLine(10,200,10,10);//分割Y轴for(int i 2;i 20;i){painter.drawLine(10,10*i,15,10*i);if(i%4 0)//每4个点画一次{painter.drawText(15,10*(19-i),QString::number(10*i));}}//y轴的坐标文字painter.drawText(10,10,垂直轴);//生成随机数 产生0-190之间的随机整数int curx,cury,oldx,oldy;curx 10;cury qrand()%191;for(int i 2;i 30;i){oldx 10*i;oldy qrand()%191;;painter.drawLine(curx,cury,oldx,oldy);curx oldx;cury oldy;//画点painter.drawPoint(QPoint(oldx,oldy));}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916194.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!