- 博客(74)
- 资源 (58)
- 收藏
- 关注
原创 Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元
啥意思,感觉本人语文学得菜,不好描述。直接看程序运行截图: 1.隐藏鼠标;2.图元分组;3.视图与场景坐标转换程序源码如下: mygraphicsitem.h#ifndef MYGRAPHICSITEM_H#define MYGRAPHICSITEM_H#include <QGraphicsItem>class MyGraphicsI...
2018-07-31 14:20:59 4595 1
原创 Qt工作笔记-QGraphics框架场景中图元的移除与析构
1.场景里面使用removeItem函数,这个函数官方给出如下解释注意这个词remove只是移除,并不是delete掉,所以只是场景中(显示出来的图元)没有了,空间还是存在。 举个代码例子:void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event){ setCursor(Qt::ArrowCursor); ...
2018-07-31 14:06:14 11083 4
原创 认识死锁之生产者与消费者
上一篇博文:https://blog.csdn.net/qq78442761/article/details/81276366 这里有一点:CRITICAL_SECTION此玩意,类似于互斥锁,是Windows平台提供的。 程序运行截图如下: 源码如下:DeadLock.h#pragma once#include <windows.h&g...
2018-07-30 23:11:10 4502 1
原创 Qt工作笔记-使用QGraphicsItem绘制复杂的图形
程序运行截图如下: 原理:使用QPainter一个部分,一个部分的画源码:mygraphicsitem.h#ifndef MYGRAPHICSITEM_H#define MYGRAPHICSITEM_H#include <QGraphicsItem>class MyGraphicsItem:public QGraphicsItem{public:...
2018-07-30 17:17:49 18119
原创 Qt工作笔记-QML中TextInput设置默认值,以及使用正则表达式只能输入整数
程序运行截图如下:源码如下:import QtQuick 2.5import QtQuick.Window 2.2Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle{ width:parent.width ...
2018-07-30 10:54:01 10051
原创 认识死锁之死锁的基本概念
线程(软件上的概念):CPU能运行(调度的)最小单位【所以多核系统可以调度多个单位】 这里要注意下手机的8核,10核处理器。手机的和电脑的不一样。一般手机上的都算上了GPU的核心。CPU频率:CPU内部有个时钟电压这个电压就是频率。当超频后,就是提高这个时钟电压,让CPU处理指令更快,所以为啥玩某些游戏的时候,某些机子上的CPU很发烫。一个CPU核心在每一个瞬间智能运行...
2018-07-29 22:11:14 4689
原创 Qt|OpenGL-天空盒子的创建
程序运行截图如下:源码如下:myglwidget.h#ifndef MYGLWIDGET_H#define MYGLWIDGET_H#include <QOpenGLWidget>#include <QWidget>class SkyBox;class MyGLWidget : public QOpenGLWidget{ Q_O...
2018-07-29 14:55:01 5147 2
原创 C++ opengl 天空盒的创建
天空盒要处在最远处,任何东西都可以遮挡天空盒,而天空盒不能去遮挡任何东西。根据深度缓冲区(清空深度缓存区默认是1.0【白色】),如果是在视野范围内,那么他的深度缓冲区会写上最近一次物体的深度信息,深度缓冲区就会发生变化(深度缓冲区会被刷新)。如果又有物体,他的深度缓冲区的值比刚刚的小,就绘制出来,并且刷新深度缓冲区,如果值比深度缓冲区大,那么是绘制不出来的。如何创建天空盒子,让OpenGL...
2018-07-28 14:55:04 5753 1
原创 C++ opengl 深度缓冲区
GL_DEPTH_BUFFER_BIT 每一次清除之前,都要清空深度缓冲区启动深度测试glEnable(GL_DEPTH_TEST):离视野近的物体会挡住离视野远的物体。 运行截图如下:源码如下:void Init() { glMatrixMode(GL_PROJECTION); gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, ...
2018-07-27 23:23:07 4419 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 9162 1
原创 C++ opengl 纹理过滤之GL_NEAREST
源码还是这个博文里的https://blog.csdn.net/qq78442761/article/details/81228557 GL_LINEAR过滤:表示给多边形进行着色的时候,它的颜色需要通过他周围的一些点进行某一种线性的差值之后计算出来的颜色;GL_NEAREST过滤:表示给多边形进行着色的时候,取离他当前最近的那个纹理坐标的颜色【纹理图片是离散的(如128*128...
2018-07-26 23:31:39 5050
原创 C++ opengl 纹理过滤之GL_REPEAT
源码还是这个博文里面的https://blog.csdn.net/qq78442761/article/details/81228557程序运行截图如下:repeat犹如字面意思那样会重复,当几何纹理坐标大于1.0的时候,他取的纹理坐标的值位于纹理坐标减去1.0的位置,如纹理坐标是1.1的时候,他取的颜色的值是0.1。所以1.0和2.0一样,1.1和0.1一样,所以就会重复,就向字...
2018-07-26 23:18:26 6161
原创 C++ opengl 纹理过滤之GL_CLAMP
源码还是这样,把背景改下:https://blog.csdn.net/qq78442761/article/details/81228557采用GL_CLAMP方式过滤时大于1.0的所有的纹理坐标,会取纹理坐标为1.0上的纹理颜色源码如下:void Draw() { glClearColor(0.1f, 0.4f, 0.6f, 1.0f); glClear(GL_COLOR_...
2018-07-26 23:06:01 5706
原创 C++ opengl 纹理生成
程序运行截图如下: 看着很炫酷:其实是图片炫酷 程序源码如下:void Init() { glMatrixMode(GL_PROJECTION); gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, 1000.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); int nFi...
2018-07-26 22:04:19 6602 1
原创 Qt|OpenGL学习笔记-绕X轴、Y轴、以及XY轴旋转的四边体
程序运行截图如下: 源码如下:myglwidget.h#ifndef MYGLWIDGET_H#define MYGLWIDGET_H#include <QWidget>#include <QOpenGLWidget>class QTimer;class MyGLWidget : public QOpenGLWidget{ Q...
2018-07-26 17:14:17 6530 1
原创 Qt学习笔记-Qt中OpenGL的使用
现在窗口中心即为坐标原点,X轴从左到右,Y轴从下到上,Z轴从里到外。 程序运行截图如下: 源码如下:myglwidget.h#ifndef MYGLWIDGET_H#define MYGLWIDGET_H#include <QWidget>#include <QGLWidget>class MyGLWidget : public Q...
2018-07-26 15:52:26 19817 3
转载 error: undefined reference to `_imp__glXXX@XX'
问题: 原文地址:https://blog.csdn.net/hebbely/article/details/69946155 如:error: undefined reference to `_imp__glClearColor@16' 解决办法: 这是相关库文件没有链接,在 .pro 文件中加入 openGL...
2018-07-26 15:33:39 8606 2
原创 Qml学习笔记-Repeater的基本使用
程序运行截图如下:代码如下:Window { visible: true width: 150 height: 500 title: qsTr("RepeaterDemo") Column{ spacing:5 Repeater{ model:["Enterprise","Colombi...
2018-07-26 13:58:09 12934 2
原创 Qt工作笔记-QPlainTextEdit中数据的获取
逻辑如下:1.使用QPlainText中的documnet获取文档指针;2.遍历这个文档指针(操作和适配器一样) 程序运行截图如下:源码如下:widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class QTimer;namespace Ui {class Widget;...
2018-07-26 11:11:55 15686 2
原创 Qt工作笔记-QLineEdit与QTextEdit与QPlainTextEdit区别与联系以及适用范围
QLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。QTextEdit用于多行文本,也可以显示HTML格式文本。QPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextEdit对于plain text处理能力比QTextEdit强。 以上资料来源百度...
2018-07-26 10:57:58 8975 2
原创 Qt工作笔记-QML与C++交互
程序运行截图如下: 逻辑:1.使用Q_PROPERTY宏让元对象能对这个数据成员进行访问2.在QML系统中注册C++3.qml进行调用,实现qml与C++的交互 源码如下:testproperty.h#ifndef TESTPROPERTY_H#define TESTPROPERTY_H#include <QObject>class ...
2018-07-25 16:17:58 5244 3
原创 Qt工作笔记-Qt之自定义属性Q_PROPERTY
QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property]; QT的强大之处在于它可以支持任何标准的c++编译器。 QT是基于 Meta-Object System(元对象)和signals and slots(信号槽)的。 Q_PROPERTY Q_PROPERTY()是一...
2018-07-25 16:07:51 7249 4
原创 Qt工作笔记-跑马灯效果
逻辑:使用静态变量确定位置;利用QString中mid这函数的性质:程序运行截图如下: 代码如下:widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class QTimer;namespace Ui {class Widget;}class Widget : publ...
2018-07-25 14:38:48 5542 4
原创 Qt工作笔记-线程池作用之一:限制系统中执行线程的数量
一、线程池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等...
2018-07-25 11:26:39 6995 4
原创 Qt工作笔记-在界面上输出变量、类、this指针的地址
思路:地址就一4字节数,把其转10进制,再转成16进制就可以在界面上显示了。程序运行截图如下: 源码如下:widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Widget : public QWidget{...
2018-07-25 11:03:11 7742 1
原创 C++ opengl 漫反射和镜面反射参数
漫反射和镜面反射参数开启光照后,物体表面的颜色:由 环境光+漫反射+镜面反射 组成漫反射:glLightfv(GL_LIGHT0,GL_DIFFUSE,whiteColor);glMaterialfv(GL_FRONT,GL_DIFFUSE,diffuseMat);镜面反射:glLightfv(GL_LIGHT0,GL_SPECULAR,whiteColor);glMateri...
2018-07-24 21:14:00 5709 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);设置反射系数:glMaterialfy(GL_FRONT,GL_AMBIENT,ambientMat);...
2018-07-24 21:03:32 4202 2
原创 C++ opengl 方向光
方向光1.启用一盏灯:glEnable(GL_LIGHTO);最多8盏灯 GL_LIGHT0~GL_LIGHT72.设置灯的位置:glLightfv(GL_LIGHT0,GL_POSITION,lightPos);其中lightPos如float loghtPos[]={0.0f,1.0f,0.0f,0.0f};这个是一个其次坐标:(x,y,z,w) w为0表示光源为无穷远(如太阳):...
2018-07-24 20:55:20 4361 1
原创 Qt获取本地网卡信息
程序运行截图如下:程序源码如下:#include <QtNetwork>#include <QDebug>#include <QList>#include <QNetworkInterface>int main(){ QString localHostName=QHostInfo::localHostName();...
2018-07-24 16:23:10 7705 1
原创 C++ opengl 启动光照
开启光照:物体的着色算法不单单依赖于顶点的颜色,引用内置的光照算法glEnable(GL_LIGHTING):这个仅仅是开启颜色计算的算法,变黑的原因:1.无光源;2.无法线。 原始伪代码如下:void Init() { //设置当前矩阵 glMatrixMode(GL_PROJECTION); //设置为投影矩阵(对矩阵造成影响的代码,都会影响当前矩阵) //...
2018-07-24 00:14:11 5010
原创 C++ opengl 放置摄像机
放置摄像机在场景绘制之前摆放摄像机【把摄像机摆好了,才能看到东西】gluLookAt前3个参数为:摄像机的位置;中间3个参数:眼睛看到的视点;后3个参数:从头顶发出去的方向向量;犹如人看东西一样 如下伪代码:void Draw() { glClearColor(30.0f / 255.0f, 30.0f / 255.0f, 30.0f / 255.0f, 1.0f...
2018-07-23 23:44:34 4286
原创 C++ opengl 复合运动
绘制场景之前要确保当前模型视图矩阵是单位矩阵先旋转后移动 与 先移动后旋转 有不同的结果,矩阵没有交换律 程序运行截图如下: 源码如下(先移动再旋转):void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glPush...
2018-07-23 23:32:49 4195 1
原创 C++ opengl 矩阵的压栈与出栈
矩阵的压栈与出栈让两个重合的三角形,分开程序运行截图如下: 伪代码如下:void Init() { //设置当前矩阵 glMatrixMode(GL_PROJECTION); //设置为投影矩阵(对矩阵造成影响的代码,都会影响当前矩阵) //第一个参数是垂直方面的视角,第二个是宽和高的比,第三个是最近可以看到的距离,第四个是最远距离 gluPerspectiv...
2018-07-23 22:23:42 4497 1
原创 C++ opengl GL_POLYGON的绘制
将所有点,做成一个凸多边形,在一般项目中,一般只要用三角形就够了。因为三角形,三个角共面程序运行截图如下:伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor4ub(255, 0, 0,...
2018-07-23 21:55:02 12250 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); glBegin(GL_QUAD_STRIP); glColor4ub(255, 0, 0, 255); g...
2018-07-23 19:31:18 7280
原创 C++ opengl GL_QUADS的绘制
QUADS指的是四边形, 每给出4个点,就绘制一个四边形; 给出5-7个,还是一个四边形程序运行截图如下: 伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_QUADS); glColor4ub(...
2018-07-23 15:21:53 16348
原创 C++ opengl GL_LINE_STRIP的绘制
此绘制要和GL_LINE_LOOP做对比, GL_LINE_STRIP不会把最后一个点和第一个点连接起来程序运行截图如下: 伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(10.0f); glB...
2018-07-22 23:14:36 7910
原创 C++ opengl GL_LINE_LOOP的绘制
GL_LINE_LOOP的绘制 给出的点会绘制为一个环(所有的点首尾相接)程序截图如下: 伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(10.0f); glBegin(GL_LINE_LOOP...
2018-07-22 23:07:48 12078
原创 C++ opengl 线段的绘制
每两个点一条线,已经连接的点不能连线! 程序运行截图如下: 伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(10.0f); glBegin(GL_LINES); glColor4ub(255...
2018-07-22 22:58:33 5922
原创 C++ opengl 点的绘制
(方形点,像素点,默认大小1.0)程序截图如下: 伪代码如下:void Draw() { glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //擦除背景使用的颜色(分别表示颜色分量的值) glClear(GL_COLOR_BUFFER_BIT); //擦除当前背景颜色 glBegin(GL_POINTS)...
2018-07-22 22:46:43 4757
Qt文本转化工具 realase版本
2019-01-19
Qt文件编码转换工具源码
2019-01-19
libX11生成libX11-xcb.so.1
2018-11-13
基于RFID门禁系统源码 ,C/C++
2017-09-10
Qt+Opencv-PCA人脸识别+视频
2017-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人