当前位置: 首页> 健康> 美食 > qt 用数据画一个图,并表示出来

qt 用数据画一个图,并表示出来

时间:2025/7/13 4:51:20来源:https://blog.csdn.net/xie__jin__cheng/article/details/140312655 浏览次数:0次

1.概要

想用数据绘制一个画面,看有相机到播放的本质是啥。

要点

    // 创建一个QImage对象,指定图像的宽度、高度和格式
    QImage image(width, height, QImage::Format_Grayscale8);

    // 将像素数据复制到QImage对象中
    memcpy(image.bits(), pixelData, width * height * sizeof(unsigned char));

    // 将 QImage 转换为 QPixmap
    QPixmap pixmap = QPixmap::fromImage(image);

    // 设置 QLabel 的 pixmap
    ui->label->setPixmap(pixmap.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation));

2.代码

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{unsigned char pixelData[128*50]; // 示例数据for(int i=0;i<(128*50);i++){if(i%128<50||i%128>100){pixelData[i] = 0x00;}else{pixelData[i] = 0xff;}}int width = 128; // 图像的宽度int height = 50; // 图像的高度// 创建一个QImage对象,指定图像的宽度、高度和格式QImage image(width, height, QImage::Format_Grayscale8);// 将像素数据复制到QImage对象中memcpy(image.bits(), pixelData, width * height * sizeof(unsigned char));// 假设你已经有了一个 QImage 对象,这里我们创建一个示例 QImage//QImage image(100, 100, QImage::Format_ARGB32);//image.fill(Qt::blue); // 填充为蓝色,仅作为示例// 将 QImage 转换为 QPixmapQPixmap pixmap = QPixmap::fromImage(image);// 设置 QLabel 的 pixmapui->label->setPixmap(pixmap.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation));
}
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

 

#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

 

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cppHEADERS += \widget.hFORMS += \widget.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

3.运行效果

关键字:qt 用数据画一个图,并表示出来

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: