QT中使用QPainter在ui子控件中绘图

您所在的位置:网站首页 QT绘图控件 QT中使用QPainter在ui子控件中绘图

QT中使用QPainter在ui子控件中绘图

2023-09-14 00:01| 来源: 网络整理| 查看: 265

在使用QT中的QPainter绘制图片时发现其只能够在当前类中执行绘制操作。本文介绍一下怎么实现在ui的子控件中用QPainter实现绘图。以QLabel为例:

1.在QT工程中新建一个类PaintLabel,继承自QLabel。

//paintlabel.h文件 #ifndef PAINTLABEL_H #define PAINTLABEL_H #include class PaintLabel:public QLabel { Q_OBJECT public: explicit PaintLabel(QWidget *parent = 0); void paintEvent(QPaintEvent *event); }; #endif // PAINTLABEL_H //paintlabel.c文件 #include "paintlabel.h"

#include #include #include #include #include #include PaintLabel::PaintLabel(QWidget *parent):QLabel(parent) { } void PaintLabel::paintEvent(QPaintEvent *event) { QPainter painter(this); global_var::Cap_Image = global_var::Cap_Image.scaled(this->width(),this->height(),Qt::IgnoreAspectRatio); painter.drawImage(QPoint(0,0), global_var::Cap_Image); QLabel::paintEvent(event); //global_var::time_End = (double)clock(); //qDebug()选择基类QLabel->名称为PaintLabel->输入h文件paintlabel.h->选中->提升。

3.原程序中的功能是载入QImage类型的global_var::CapImage图片。读者可以修改代码

painter.drawImage(QPoint(0,0), global_var::Cap_Image);

将其修改为载入一幅图片进行实验。



【本文地址】


今日新闻


推荐新闻


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