QT绘图(添加背景,画图形) |
您所在的位置:网站首页 › qt界面怎么添加背景 › QT绘图(添加背景,画图形) |
绘图设备:
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(); }
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 |