Qt显示图片的控件有很多,用QLabel,或者直接在界面上画出来。QOpenGLWidget是Qt5之后用来渲染OpenGL控件,使程序员对OpenGL的操作更简单,本文讲解用QOpenGLWidget来显示图片,后续讲解用QOpenGLWidget来显示视频。

方法如下:

1.在控件栏找到OpenGLWidget,拖到界面上




2. 右键该控件提升为MyGLWidget,
 Qt提升控件类似于MFC的控件重载,如何提升控件自行百度,添加Qt类MyGLWidget,使其派生于QOpenGLWidget,头文件如下:
#pragma once #include <QOpenGLWidget> class MyGLWidget : public QOpenGLWidget
{ Q_OBJECT public: MyGLWidget(QWidget *parent); ~MyGLWidget(); //重写paintEvent方法
void paintEvent(QPaintEvent *e); };
MyGLWidget.cpp如下:
#include "MyGLWidget.h" #include <QPainter> MyGLWidget::MyGLWidget(QWidget
*parent) : QOpenGLWidget(parent) { } MyGLWidget::~MyGLWidget() { } void
MyGLWidget::paintEvent(QPaintEvent *e) { QPainter painter; painter.begin(this);
QImage img; img.load("1.jpg"); painter.drawImage(QPoint(0, 0), img);
painter.end(); }
运行结果如下:




这里我把控件的大小和图片的大小设的一样,所以显示的均匀,不然只会显示一部分,后续博客继续更新。有什么好的方法实现图片自适应控件大小,请各位大佬帮忙回复。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信