QT学习之路
文章平均质量分 70
Sputnik_02
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
带超链接的Tableview
在TableView中插入插连接的一种办法原创 2022-09-27 18:35:15 · 721 阅读 · 1 评论 -
如何在qml中使用opengl接口进行渲染
在QWidget中,可以使用QOpenglWidget调用opengl接口进行渲染,因为QWidget大部分控件都是依赖于平台的(cpu绘制),所以我们调用opengl的接口时不需要考虑opengl的context共享,所以相对简单。但是qml的渲染策略有所不同,在可以使用硬件加速的环境下,qml是把当前所有可视元素都“堆放”在一起,然后统一使用gpu渲染。所以如果我们想要在qml中使用opengl接口进行绘制,需要考虑调用的时机以及不同窗口之间资源的共享,下面提供一种方法。想要在qml中使用,我们需要原创 2022-04-24 17:59:27 · 6258 阅读 · 0 评论 -
Qt元对象系统
元对象系统可以说是QT最核心的功能了,就是因为元对象系统的存在,才有了QT的信号槽和动态属性,今天打算复习下这套机制。以下内容都是自己的理解,有不正确的地方欢迎指正!Qt元对象系统的实现主要依赖于三点:继承QObject,包含Q_OBJEC宏以及moc编译器。对于继承了QObject且在头文件声明了Q_OBJECT宏的类classA,moc编译器会扩展生成一个moc_classA.cpp的文件,在里面添加了一些支持信号槽等功能的代码————主要是生成classA对性的metaObject类,以及原创 2021-06-03 19:39:04 · 1085 阅读 · 0 评论 -
QObject学习
做一下QObject的相关笔记,准备来一个系统性的学习。以下内容全部是个人理解,有谬误的地方欢迎大佬指出!QObject的成员变量首先,我们先看一下QObject的大小: qDebug()<<sizeof(QObject);结果输出为8,我们打开QObject的源码,可以发现这8个字节是类的虚表指针和一个指针成员变量QScopedPointer<QObjectData> d_ptr;点开定义发现QScopedPointer是一个模板类,内部...原创 2021-05-27 18:49:09 · 1602 阅读 · 0 评论 -
QApplication学习
对于QCoreApplication,QGuiApplication以及QApplication,我一直分的不是很清楚,今天来梳理一下,并顺便记一些相关的笔记。以下内容全部是自己的理解,有不正确的地方,欢迎大佬指出!QCoreApplicationQCoreApplication位于core模块,源码在Src\qtbase\src\corelib\kernel目录下,为应用程序提供了一个非gui的事件循环。int main(int argc, char *argv[]){ QCo原创 2021-05-26 19:04:53 · 1910 阅读 · 0 评论 -
QT+opengl实现3D点云和三维坐标系
最近利用opengl+QT实现了一个3D点云,并且点击点云的时候可以画出一个以选中点为原点的三维坐标系,可以实现移动和旋转,大概效果如下: (图中的小黄圆是截屏软件导致的,并非实际效果。)在这里分享几个关键函数。 将屏幕坐标转换为opengl的世界坐标:QVector3D GlDisplayWidget::mousePosToWor...原创 2021-05-10 15:57:30 · 10466 阅读 · 6 评论 -
在子线程中进行GUI渲染的一种思路。
在子线程中进行GUI渲染的一种思路。 从新开始写博客,记录一下QT学习之中遇到的坑,都是个人理解,有错误的地方,希望大家多多指正。 之前看见有人提出了能不能在子线程进行GUI渲染,都知道GUI是在主线程完成渲染的,但是可以通过QPainter在子线程“画”一张图片,然后通过信号槽的方式转递给主线程,再在主线程中渲染。这样做的好处是,如果渲染步骤太过繁琐,可以避免造成主线程长时间阻塞。 下面是笔者写的一个demo。ImageThread::~ImageThread(){...原创 2021-05-10 14:59:14 · 603 阅读 · 0 评论
分享