QT绘图(添加背景,画图形)

您所在的位置:网站首页 qt界面怎么添加背景 QT绘图(添加背景,画图形)

QT绘图(添加背景,画图形)

2023-12-25 07:44| 来源: 网络整理| 查看: 265

绘图设备:

QPixmap:针对屏幕进行优化了,和平台相关 QImage:和平台无关,可以对图片进行修改,在线程中绘图 QPicture:保存绘图的状态,保存为二进制文件

画背景图

创建一个widget项目。

在.h文件中添加paintEvent()函数

protected: //重写绘图事件 //如果在窗口绘图,必须在绘图事件里实现 //绘图事件内部自动调用,窗口需要重绘的时候(状态改变) void paintEvent(QPaintEvent *);

按F4,编写槽函数

void Widget::paintEvent(QPaintEvent *){ //QPainter p(this); QPainter p; //创建画家对象 p.begin(this); //指定当前窗口为绘图设备 //绘图操作 //画背景图 p.drawPixmap(0,0,width(),height(), QPixmap("../Image/7D016817BF7BEE8D56116FCBA333DBFB.jpg")); p.end(); }

在这里插入图片描述这个图片文件要和在这里插入图片描述放在同一目录下。 QPixmap("…/Image/7D016817BF7BEE8D56116FCBA333DBFB.jpg"));中7D016817BF7BEE8D56116FCBA333DBFB.jpg是图片名。

width(),height()会自动获取窗口的高度和宽度。 在这里插入图片描述在这里插入图片描述 便生成了以该图片为背景的窗口。

画图形

先加上头文件

#include

在槽函数中加上

void Widget::paintEvent(QPaintEvent *){ //QPainter p(this); QPainter p; //创建画家对象 p.begin(this); //指定当前窗口为绘图设备 //绘图操作 //定义笔 QPen pen; pen.setWidth(5); //设置线宽 //pen.setColor(Qt::red); //设置颜色 pen.setColor(QColor( 14, 9, 234)); //rgb设置颜色 pen.setStyle(Qt::DashLine); //设置风格 //把画笔交给画家 p.setPen(pen); //画直线 p.drawLine(50,50,200,50); p.drawLine(50,50,50,200); //创建画刷对象 QBrush brush; brush.setColor(Qt::red); //设置颜色 brush.setStyle(Qt::Dense1Pattern); //设置样式 //把画刷交给画家 p.setBrush(brush); //画矩形 p.drawRect(150,150,100,50); //画椭圆 p.drawEllipse(QPoint(150,150), 50, 25); p.end(); }

在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3