第一个QGLViewer程序
环境:vs2017 + qt5.11 + QGLViewer2.7.1
1、新建QtGUIApplication
新建一个QtGUIApplication(勾上opengl或者自己配置opengl32.lib,glu32.lib)
2、 配置QGLViewer
配置QGLViewer(包含目录、库目录、附加依赖项)
release模式QGLViewer2.lib(release模式QGLViewerd2.lib)
3、加入QGLViewer窗口
ui文件(Form Files/mainwindow.ui)
文件中填上头文件,运行报错
缺少XML module,Qt Project Settings->Qt Modules
ok,跑起来了
4、绘制图像
头文件mainwindow.h中添加:
protected Q_SLOTS:void draw();
mainwindow.cpp文件中添加:
void MainWindow::draw() {//官方图像镇楼// Draws a spiralconst float nbSteps = 200.0;glBegin(GL_QUAD_STRIP);for (float i = 0; i < nbSteps; ++i) {float ratio = i / nbSteps;float angle = 21.0 * ratio;float c = cos(angle);float s = sin(angle);float r1 = 1.0 - 0.8 * ratio;float r2 = 0.8 - 0.8 * ratio;float alt = ratio - 0.5;const float nor = .5;const float up = sqrt(1.0 - nor * nor);glColor3f(1.0 - ratio, 0.2f, ratio);glNormal3f(nor * c, up, nor * s);glVertex3f(r1 * c, alt, r1 * s);glVertex3f(r2 * c, alt + 0.05, r2 * s);}glEnd();
}
初始化时连接viewer和draw函数:
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);connect(ui.viewer, SIGNAL(drawNeeded()), this, SLOT(draw()));
}
运行(官方图镇楼)
源码:
第一个QGLViewer程序相关推荐
- 第一个spring程序
第一个spring程序: 第一步:导入jar包. 新建maven项目: <dependency><groupId>org.springframework</groupId ...
- 快速搭建第一个Mybatis程序
一.简介 1.初识Mybatis 2.持久化 3.持久层 4.为什么需要Mybatis 二.第一个Mybatis程序 1.搭建环境 2.创建一个新模块 3.编写代码 4.Junit测试 三.可能遇到的 ...
- Linux上运行一个c程序
b站的视频链接:Linux虚拟机运行c程序_哔哩哔哩_bilibili希望对大家有所帮助,不对的地方还请多多指教!https://www.bilibili.com/video/BV18Q4y1r7st ...
- Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...
- 用java实现一个计算器程序_1.2第一个java程序——hello world
第一个java程序--hello world 实现一个java程序,主要有三个步骤:1.编写源代码,2.编译源代码,3.运行.java的源代码必须先编译,然后才能由JVM解析执行.所以我们程序员第一步 ...
- C(第一个C程序) 和 C++ (第一个C++程序)对比碰撞
个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268 1.简介 C++ 是对 C 的继承.扩展,但从语言角度来说,这是 两种变成语言,就一定存在不同,本文 ...
- 区块链c端应用小程序_区块链如何真正起作用? 我建立了一个应用程序向您展示。...
区块链c端应用小程序 by Sean Han 通过肖恩·韩 区块链如何真正起作用? 我建立了一个应用程序向您展示. (How does blockchain really work? I built ...
- 如何开发属于自己的第一个Java程序
学习java技术都是循序渐进的,搭建好了Java开发环境之后,下面就来学习一下如何开发Java程序.为了让初学者更好地完成第一个Java程序,接下来小编通过几个步骤进行逐一讲解. 1.编写Java源文 ...
- C#:将另一个应用程序的主窗口移至屏幕最前
2019独角兽企业重金招聘Python工程师标准>>> 使用WindowsAPI函数SwitchToThisWindow,可以将指定窗口移动到屏幕最前. 如果要将另一个应用程序的窗口 ...
最新文章
- 从系统的启动过程分析,为什么我们划分分区的时候 /sbin 、/bin、/lib、/dev不能做为独立的分区?...
- python调用lib_基于python调用libvirt API
- maven项目配置定时任务
- python 建筑建模_不可错过的python 街道数据爬取和分析神器!
- 大学生学java要去培训机构吗?
- cuda 图片拆分_急需,PDF怎么拆分啊?
- android 拼接参数,Android 多参数多文件同时上传
- error40无法打开到sql_技术分享|初识SQL优化之执行计划查看分析
- Ubuntu 14.04安装Python3
- 查询系统是使用 MBR 还是 GPT 分区 (Windows 和 Linux)
- Moon一个无视Linq,无视实体类的设计思路.(不要错过,看了之后, 让我们从此以后不再羡慕linq to entiy!)...
- 一文详解:java认证考试报名费用
- 【Linux】安装网易云全攻略
- STM32F103_study60_The punctual atoms(Input capture experimentInput)
- 微积分的历史(五):发展之泰勒公式(上)
- matlab 多项式降幂,MATLAB自动将向量元素按降幂顺序分配给各系数值.PPT
- chrome插件莫名消失【已解决】
- slf4j简单介绍(2)-使用
- kali学习-被动信息收集-DNS相关
- 解读 Caliper 修改配置文件调整交易量进行性能测试(中文首发)