目录

概念

演示


概念

最近在看Qt官方文档,发现QOpenGLWidget中可以使用paintEvent进行OpenGL的2D绘图,不需要任何OpenGL的知识,只需要简单的Qt的知识即可,对此自己写了一个小栗子记录下。

演示

程序运行截图如下:

程序结构如下:

源码如下:

glwidget.h

#ifndef GLWIDGET_H
#define GLWIDGET_H#include <QOpenGLWidget>class GLWidget : public QOpenGLWidget
{Q_OBJECT
public:GLWidget(QWidget *parent = Q_NULLPTR);protected:void paintEvent(QPaintEvent *e) Q_DECL_OVERRIDE;
};#endif // GLWIDGET_H

glwidget.cpp

#include "glwidget.h"
#include <QPaintEvent>
#include <QPainter>
#include <QColor>GLWidget::GLWidget(QWidget *parent): QOpenGLWidget(parent)
{}void GLWidget::paintEvent(QPaintEvent *e)
{QPainter painter;painter.begin(this);painter.setRenderHint(QPainter::Antialiasing);painter.fillRect(e->rect(), QBrush(QColor(64, 55, 190)));painter.setPen(QPen(QColor(Qt::white)));QFont font;font.setPixelSize(100);painter.setFont(font);painter.drawText(QRect(100, 100, 700, 200), Qt::AlignCenter, "CSDN IT1995");painter.end();
}

main.cpp

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

使用paintEvent()对窗口进行OpenGL2D绘图相关推荐

  1. 在主窗口中增加绘图类控件时(以QPainter为例)时不显示内容的问题(不应该加addStretch)

    问题引出 假如我要实现以下GUI,包含一个主窗口,主窗口内又包含1个绘图类控件(QPainter中的QdrawText)和1个 单行文本框控件(QLineEdit). 期望效果图 开始实现的代码为: ...

  2. jupyter中怎么把图形在一个单独的窗口显示_QT绘图中的坐标概念

    学习<QT 5.9 C++开发指南>的第8章"绘图",其中有两个概念:视口和窗口. 这两个概念及其之间的关系让我很迷糊."视口"这个名词在很多文章中 ...

  3. 【绘图】matlab 绘制窗口分布

    matlab 绘制窗口分布 matlab绘图函数 控制绘图窗口 窗口规则分布:subplot 窗口自定义分布:axes matlab绘图函数 我的另一篇博客https://blog.csdn.net/ ...

  4. linux上c语言hdc句柄,控制台窗口的绘图

    最近和别人聊天,聊到了控制台绘图,曾经学了一些windows的API编程,却没想到直接在控制台窗口上进行绘图 今天有时间,便把代码写了出来 #include #include /*********** ...

  5. 深入浅出CChart 每日一课——快乐高四第四十九课 旧石器时代,老血狂喷之控制台窗口绘图

    前面快乐高四第三十三课,介绍了在控制台程序中怎么利用CChart绘制曲线,那里的方法呢,很简单,就是创建一个弹出窗口,然后在这个弹出窗口上绘图,其实技术含量比较低. 这一课呢,笨笨想给大家介绍一下怎么 ...

  6. C++ Direct2D绘图、winapi创建窗口初探

    1. 什么是Direct2D 一言以蔽之,就是Windows 7平台上的一个2D图形API,可以提供高性能,高质量的2D渲染.比直接使用WINDOWSAPI会先进和轻松一些. D2D的架构 Direc ...

  7. 【Qt】2D绘图之双缓冲绘图

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 绘制矩形 04. 双缓冲绘图 05. 附录 01. 概述 所谓的双缓冲绘图的概念.双缓冲(double-buffers)绘 ...

  8. 【Qt】2D绘图之涂鸦板

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 程序设计(基本功能) 04. 程序设计(放大功能) 05. 程序设计(放大功能) 06. 附录 01. 概述 结合前面所学 ...

  9. [Qt教程] 第16篇 2D绘图(六)坐标系统

    [Qt教程] 第16篇 2D绘图(六)坐标系统 楼主  发表于 2013-5-2 20:08:12 | 查看: 738| 回复: 0 坐标系统 版权声明 该文章原创于Qter开源社区(www.qter ...

最新文章

  1. 克服拖延的11种方法
  2. 中国移动短信网关CMPP3.0 C#源代码:使用示例
  3. 《机电传动控制》学习笔记10-1
  4. 进程线程002 等待链表 调度链表
  5. Linux加载Linux的引导程序,Linux的引导-引导加载程序:LILO和GRUB
  6. 如何使用C#自带的GDI+双缓冲类BufferedGraphics实现双缓冲功能
  7. C#元组类型System.ValueTuple
  8. 卡巴斯基发现新型恶意软件StoneDrill,或与 Shamoon有关
  9. Quartz.net 定时调度CronTrigger时间配置格式说明
  10. 安卓电视硬件测试软件,据说这是2017 最好用的智能电视软件!
  11. Java-IO操作性能对比
  12. asp在线html编辑器,ASP下使用FCKeditor在线编辑器的方法
  13. 数据库如何执行sql语句
  14. 飞信2009_飞信真因为微信消亡吗?谣言!教你看透本质把握个人未来发展方向...
  15. python合并视频和音频_Python批量合并处理B站视频
  16. wifi的html页面,WiFi
  17. LSM6DS3 gyro数据设置
  18. 开始报名丨CCF C³-13@奇安信:透视俄乌网络战 —— 网络空间基础设施面临的安全对抗与制裁博弈...
  19. 协变量偏移_恶意软件分类的协变量偏移
  20. 微信小程序---实现tab选项卡

热门文章

  1. 代码的世界里的一群精神病人
  2. A8U公司的老程序猿的悲惨下场
  3. jquery validate 中文教程【入门到精通】
  4. 这说明什么?【转载】早点长大的飞秋2013
  5. H618B刷了tomato0530版本 呵呵,测试一下
  6. 中国企业飞鸽传书市场
  7. 《福布斯》:微软的印度未来
  8. 用VC写Assembly代码(5) --函数调用(二)
  9. 【新年礼物】阿里资深p8教你学习Web全栈架构师!
  10. 前端xss攻击的原理