自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT1995的博客

博主QQ570176391 个人作品网站:www.it1995.cn

原创 Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元

啥意思,感觉本人语文学得菜,不好描述。 直接看程序运行截图:   1.隐藏鼠标; 2.图元分组; 3.视图与场景坐标转换 程序源码如下:   mygraphicsitem.h #ifndef MYGRAPHICSITEM_H #define MYGRAPHICSITEM_H...

2018-07-31 14:20:59 3789 1

原创 Qt工作笔记-QGraphics框架场景中图元的移除与析构

1.场景里面使用removeItem函数,这个函数官方给出如下解释 注意这个词remove只是移除,并不是delete掉,所以只是场景中(显示出来的图元)没有了,空间还是存在。   举个代码例子: void MyGraphicsView::mouseReleaseEvent(QMou...

2018-07-31 14:06:14 5982 1

原创 认识死锁之生产者与消费者

上一篇博文: https://blog.csdn.net/qq78442761/article/details/81276366   这里有一点: CRITICAL_SECTION 此玩意,类似于互斥锁,是Windows平台提供的。   程序运行截图如下:   源码如下: ...

2018-07-30 23:11:10 3562 1

原创 Qt工作笔记-使用QGraphicsItem绘制复杂的图形

程序运行截图如下:   原理:使用QPainter一个部分,一个部分的画 源码: mygraphicsitem.h #ifndef MYGRAPHICSITEM_H #define MYGRAPHICSITEM_H #include <QGraphicsItem&a...

2018-07-30 17:17:49 11274 0

原创 Qt工作笔记-QML中TextInput设置默认值,以及使用正则表达式只能输入整数

程序运行截图如下: 源码如下: import QtQuick 2.5 import QtQuick.Window 2.2 Window { visible: true width: 640 height: 480 title: qsTr("He...

2018-07-30 10:54:01 5719 0

原创 认识死锁之死锁的基本概念

  线程(软件上的概念):CPU能运行(调度的)最小单位【所以多核系统可以调度多个单位】   这里要注意下手机的8核,10核处理器。手机的和电脑的不一样。一般手机上的都算上了GPU的核心。 CPU频率:CPU内部有个时钟电压这个电压就是频率。 当超频后,就是提高这个时钟电压,让CPU处...

2018-07-29 22:11:14 3840 0

原创 Qt|OpenGL-天空盒子的创建

程序运行截图如下: 源码如下: myglwidget.h #ifndef MYGLWIDGET_H #define MYGLWIDGET_H #include <QOpenGLWidget> #include <QWidget&g...

2018-07-29 14:55:01 3994 2

原创 C++ opengl 天空盒的创建

天空盒要处在最远处,任何东西都可以遮挡天空盒,而天空盒不能去遮挡任何东西。 根据深度缓冲区(清空深度缓存区默认是1.0【白色】),如果是在视野范围内,那么他的深度缓冲区会写上最近一次物体的深度信息,深度缓冲区就会发生变化(深度缓冲区会被刷新)。如果又有物体,他的深度缓冲区的值比刚刚的小,就绘制出...

2018-07-28 14:55:04 4485 1

原创 C++ opengl 深度缓冲区

GL_DEPTH_BUFFER_BIT 每一次清除之前,都要清空深度缓冲区 启动深度测试glEnable(GL_DEPTH_TEST):离视野近的物体会挡住离视野远的物体。   运行截图如下: 源码如下: void Init() { glMatrixMode(GL_PROJECTI...

2018-07-27 23:23:07 3738 1

原创 Qt工作笔记-QML界面与QWidgets界面相互交互

C++要做的事情: 1.QML中注册C++类型(qmlRegisterType) 2.获取元对象树,从中提取注册的指针【这样就和普通的对象一样了】   qml要做的事情: 1.import注册的C++类型 2.使用onXXX进行qml与C++的交互   通过Q_PROPERTY进行...

2018-07-27 14:53:26 6510 1

原创 C++ opengl 纹理过滤之GL_NEAREST

源码还是这个博文里的 https://blog.csdn.net/qq78442761/article/details/81228557   GL_LINEAR过滤:表示给多边形进行着色的时候,它的颜色需要通过他周围的一些点进行某一种线性的差值之后计算出来的颜色; GL_NEAREST过...

2018-07-26 23:31:39 3725 0

原创 C++ opengl 纹理过滤之GL_REPEAT

源码还是这个博文里面的 https://blog.csdn.net/qq78442761/article/details/81228557 程序运行截图如下: repeat犹如字面意思那样会重复,当几何纹理坐标大于1.0的时候,他取的纹理坐标的值位于纹理坐标减去1.0的位置,如纹理坐标是...

2018-07-26 23:18:26 4154 0

原创 C++ opengl 纹理过滤之GL_CLAMP

源码还是这样,把背景改下: https://blog.csdn.net/qq78442761/article/details/81228557 采用GL_CLAMP方式过滤时大于1.0的所有的纹理坐标,会取纹理坐标为1.0上的纹理颜色 源码如下: void Draw() { glCle...

2018-07-26 23:06:01 4091 0

原创 C++ opengl 纹理生成

程序运行截图如下:   看着很炫酷:其实是图片炫酷   程序源码如下: void Init() { glMatrixMode(GL_PROJECTION); gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, 1000.0f); glMa...

2018-07-26 22:04:19 4825 1

原创 Qt|OpenGL学习笔记-绕X轴、Y轴、以及XY轴旋转的四边体

程序运行截图如下:   源码如下: myglwidget.h #ifndef MYGLWIDGET_H #define MYGLWIDGET_H #include <QWidget> #include <QOpenGLWidget&...

2018-07-26 17:14:17 4952 1

原创 Qt学习笔记-Qt中OpenGL的使用

现在窗口中心即为坐标原点,X轴从左到右,Y轴从下到上,Z轴从里到外。   程序运行截图如下:   源码如下: myglwidget.h #ifndef MYGLWIDGET_H #define MYGLWIDGET_H #include <QWidget&...

2018-07-26 15:52:26 12869 2

转载 error: undefined reference to `_imp__glXXX@XX'

问题:     原文地址: https://blog.csdn.net/hebbely/article/details/69946155   如:error: undefined reference to `_imp__glClearColor@16'       ...

2018-07-26 15:33:39 5180 2

原创 Qml学习笔记-Repeater的基本使用

程序运行截图如下: 代码如下: Window { visible: true width: 150 height: 500 title: qsTr("RepeaterDemo") Column{ spacing...

2018-07-26 13:58:09 7322 2

原创 Qt工作笔记-QPlainTextEdit中数据的获取

逻辑如下: 1.使用QPlainText中的documnet获取文档指针; 2.遍历这个文档指针(操作和适配器一样)   程序运行截图如下: 源码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <Q...

2018-07-26 11:11:55 7782 2

原创 Qt工作笔记-QLineEdit与QTextEdit与QPlainTextEdit区别与联系以及适用范围

QLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。 QTextEdit用于多行文本,也可以显示HTML格式文本。 QPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextE...

2018-07-26 10:57:58 7017 2

原创 Qt工作笔记-QML与C++交互

程序运行截图如下:   逻辑: 1.使用Q_PROPERTY宏让元对象能对这个数据成员进行访问 2.在QML系统中注册C++ 3.qml进行调用,实现qml与C++的交互   源码如下: testproperty.h #ifndef TESTPROPERTY_H #defi...

2018-07-25 16:17:58 3561 3

原创 Qt工作笔记-Qt之自定义属性Q_PROPERTY

  QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property];   QT的强大之处在于它可以支持任何标准的c++编译器。 QT是基于 Meta-Object System(元对象)和signals...

2018-07-25 16:07:51 5519 4

原创 Qt工作笔记-跑马灯效果

逻辑: 使用静态变量确定位置; 利用QString中mid这函数的性质: 程序运行截图如下:   代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> class Q...

2018-07-25 14:38:48 4195 4

原创 Qt工作笔记-线程池作用之一:限制系统中执行线程的数量

一、线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池...

2018-07-25 11:26:39 5208 4

原创 Qt工作笔记-在界面上输出变量、类、this指针的地址

思路: 地址就一4字节数,把其转10进制,再转成16进制就可以在界面上显示了。 程序运行截图如下:   源码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> name...

2018-07-25 11:03:11 4803 1

原创 C++ opengl 漫反射和镜面反射参数

漫反射和镜面反射参数 开启光照后,物体表面的颜色:由 环境光+漫反射+镜面反射 组成 漫反射: glLightfv(GL_LIGHT0,GL_DIFFUSE,whiteColor); glMaterialfv(GL_FRONT,GL_DIFFUSE,diffuseMat); 镜面反射: gl...

2018-07-24 21:14:00 4218 1

原创 C++ opengl 环境光分量

环境光分量 当一个环境光为r,g,b,a 物体的反射系数为mr,mg,mb,ma 时,那么看到的光就为: r*mr,g*mg,b*mb,a*ma 环境光:从四面八方射进来的光 如下面,设置环境光: glLightfv(GL_LIGHT0,GL_AMBIENT,whiteColor); 设置反...

2018-07-24 21:03:32 3621 2

原创 C++ opengl 方向光

方向光 1.启用一盏灯:glEnable(GL_LIGHTO);最多8盏灯 GL_LIGHT0~GL_LIGHT7 2.设置灯的位置:glLightfv(GL_LIGHT0,GL_POSITION,lightPos); 其中lightPos如float loghtPos[]={0.0f,1.0f...

2018-07-24 20:55:20 3522 1

原创 Qt获取本地网卡信息

程序运行截图如下: 程序源码如下: #include <QtNetwork> #include <QDebug> #include <QList> #include <QNetworkInt...

2018-07-24 16:23:10 5200 1

原创 C++ opengl 启动光照

开启光照:物体的着色算法不单单依赖于顶点的颜色,引用内置的光照算法 glEnable(GL_LIGHTING):这个仅仅是开启颜色计算的算法, 变黑的原因: 1.无光源; 2.无法线。   原始伪代码如下: void Init() { //设置当前矩阵 glMatrixMode(G...

2018-07-24 00:14:11 3669 0

原创 C++ opengl 放置摄像机

放置摄像机 在场景绘制之前摆放摄像机 【把摄像机摆好了,才能看到东西】 gluLookAt 前3个参数为:摄像机的位置; 中间3个参数:眼睛看到的视点; 后3个参数:从头顶发出去的方向向量; 犹如人看东西一样   如下伪代码: void Draw() { glClearColor(3...

2018-07-23 23:44:34 3652 0

原创 C++ opengl 复合运动

绘制场景之前要确保当前模型视图矩阵是单位矩阵 先旋转后移动 与 先移动后旋转 有不同的结果,矩阵没有交换律   程序运行截图如下:   源码如下(先移动再旋转): void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClea...

2018-07-23 23:32:49 3607 1

原创 C++ opengl 矩阵的压栈与出栈

矩阵的压栈与出栈 让两个重合的三角形,分开 程序运行截图如下:   伪代码如下: void Init() { //设置当前矩阵 glMatrixMode(GL_PROJECTION); //设置为投影矩阵(对矩阵造成影响的代码,都会影响当前矩阵) //第一个参数是垂直方面...

2018-07-23 22:23:42 3861 1

原创 C++ opengl GL_POLYGON的绘制

将所有点,做成一个凸多边形, 在一般项目中,一般只要用三角形就够了。 因为三角形,三个角共面 程序运行截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_...

2018-07-23 21:55:02 7236 1

原创 C++ opengl GL_QUAD_STRIP的绘制

4个点绘制一个四边形,6个点绘制2个四边形,8个点绘制3个四边形; 程序运行截图如下:   伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glB...

2018-07-23 19:31:18 4794 0

原创 C++ opengl GL_QUADS的绘制

QUADS指的是四边形, 每给出4个点,就绘制一个四边形; 给出5-7个,还是一个四边形 程序运行截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_B...

2018-07-23 15:21:53 8232 0

原创 C++ opengl GL_LINE_STRIP的绘制

此绘制要和GL_LINE_LOOP做对比, GL_LINE_STRIP不会把最后一个点和第一个点连接起来 程序运行截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_...

2018-07-22 23:14:36 4422 0

原创 C++ opengl GL_LINE_LOOP的绘制

GL_LINE_LOOP的绘制 给出的点会绘制为一个环(所有的点首尾相接) 程序截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT)...

2018-07-22 23:07:48 6432 0

原创 C++ opengl 线段的绘制

每两个点一条线,已经连接的点不能连线! 程序运行截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glLineWidt...

2018-07-22 22:58:33 4316 0

原创 C++ opengl 点的绘制

(方形点,像素点,默认大小1.0) 程序截图如下: 伪代码如下: void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //擦除背景使用的颜色(分别表示颜色分量的值) glClear(GL_COLOR_BUFFER...

2018-07-22 22:46:43 3593 0

提示
确定要删除当前文章?
取消 删除