
Qt源码剖析
文章平均质量分 79
深入剖析Qt源码,带你轻松进入Qt的世界。
kupeThinkPoem
这个作者很懒,什么都没留下…
展开
-
QVariant源码解析
Qt会现在types这个数组里面查找name,是否有,如果没有(最后一个0也是个标志位),再到customeTypes里面找,依然没有找到,就往ct里面append一个,ct就是存储custometypes的vector了。好了,这基本上就是qRegisterMetaType的一个思想了,存储了Qt自带的类型(types这个全局变量的数组(types是static类型的,即内部链接的),自定义类型在custometypes里面。// 定义一个构造函数,接受参数T*的值,返回void*转载 2023-08-23 16:15:29 · 410 阅读 · 0 评论 -
Qt支持c++11
Qt4版本下仅Qt4.7与Qt4.8支持C++11,在pro文件添加以下代码即可:Qt5版本以上添加以下代码:原创 2023-05-19 18:10:56 · 1156 阅读 · 0 评论 -
Qt资源使用的方式
第一种方法相当于静态加载,但很多情况下我们更希望是动态加载,亦即:用到哪个资源才将该资源加载进来,而不用的则不加载。上边第一种方法之 所以显示出静态加载的特性,这是由于系统一次性自动把所有图片资源都进行了注册,并且在程序运行过程中一直没有进行反注册才导致的。如果我们可以自行决定:什么时候对那一部分图片资源进行注册?什么时候对哪一部分图片资源进行反注册。则显然我们可以手动控制整个资源在内存中的生存周 期。图片是一种资源,而在Qt中,对于资源的使用是有独特的方式的。原创 2022-10-23 21:02:19 · 2375 阅读 · 0 评论 -
Win7下 Qt4.84使用OCI连接oracle数据库1-编译OCI驱动
目录一、Oracle简介二、OCI简介三、Qt4.8编译oracle数据库OCI驱动1、Qt Creator2.8.0打开src.pro2、修改oci.pro3、编译4、copy5、添加oracle bin到path四、demo一、Oracle简介1977年,埃里森和另两个朋友,成立了RSI公司。1979年,RSI发布第2版RDBMS产品。1983年改名为ORACLE公司,Oracle是“神谕、预言”的意思,指一切智慧的源泉。1986年,成为世界第四原创 2022-03-21 16:13:03 · 672 阅读 · 0 评论 -
windows下QT4.8.6集成编译Sqlite3.38.0
目录一、Sqlite3简介二、问题三、Sqlite3下载四、qsqlite模块编译1、打开src.pro文件2、修改pro文件3、编译模块sqite模块4、copy模块文件五、例子一、Sqlite3简介 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite是一款轻量级的、基于文件的嵌入式数据库,实现自包容、零配置、支持事务的...原创 2022-03-15 12:05:30 · 450 阅读 · 0 评论 -
Qt vs2010开发环境搭建
Qt4.8.4:Index of /archive/qt/4.8/4.8.4https://download.qt.io/archive/qt/4.8/4.8.4/QCreator:Index of /archive/qtcreator/2.8/2.8.0https://download.qt.io/archive/qtcreator/2.8/2.8.0/Qt vs tool:Index of /development_releases/vsaddin/1.2.3https://download原创 2022-03-10 11:22:51 · 1956 阅读 · 0 评论 -
Qt事件循环及QEventLoop的使用
一、 Qt的事件循环 Qt作为一个跨平台的UI框架,其事件循环实现原理, 就是把不同平台的事件循环进行了封装,并提供统一的抽象接口。和Qt做了类似工作的,还有glfw、SDL等等很多开源库。二、QEventLoop类QEventLoop即Qt中的事件循环类,主要接口如下:int exec(QEventLoop::ProcessEventsFlags flags = AllEvents)void exit(int returnCode = 0)bool isRunning...原创 2021-12-09 21:56:43 · 22173 阅读 · 7 评论 -
QWidget父子事件传递源码剖析
四、Qt中父子事件传递 如果子widget没有accept或ignore该事件,则该事件会被传递给其父窗口。那么:对于一个继承而来的类,只要我们重写实现了其各个事件处理函数,则对应的事件肯定无法传递给其父widget! 哪怕重写的该事件处理函数的函数体为空!如果是标准的控件对象,则其肯定没重写各个事件处理函数。那消息能不能传递到父widget中,则取决于中途有没有使用事件过滤器等将该信号拦截下来了。class Mywidget:QWidget{....virtual void...原创 2021-12-12 20:29:32 · 1600 阅读 · 0 评论 -
windows10下qt5.13.2安装及添加源码调试
系统环境:windows10一、下载Index of /archive/qt/5.13/5.13.2https://download.qt.io/archive/qt/5.13/5.13.2/qt-opensource-windows-x86-5.13.2.exe二、安装1、账号登陆 双击应用程序弹出账号登陆,如果有账号可以直接登录,没有的话直接在下面注册即可。2、选择组件 不断next会弹出选择组件对话框,安装都选上需要20个G左右,如果想要源码...原创 2021-12-12 17:01:43 · 6060 阅读 · 0 评论 -
Qt信号与槽机制详解1-创建一个带信号和槽的例子
目录一、编译一个例子1、hello.h中的内容2、hello.cpp的内容3、main.cpp中的内容4、tutorial.pro内容二、moc_hello.cpp文件1、Q_OBJECT宏2、moc_hello.cpp内容三、makefile.debug四、程序功能一、编译一个例子 我们使用的是D:\zgz\qt\qt-everywhere-opensource-src-5.6.2\qtbase\examples\qmake\tutoria...原创 2021-11-27 22:20:47 · 1037 阅读 · 0 评论 -
创建一个Hello QT程序
目录一、新建一个Cpp文件,qt1.cpp二、生成pro文件三、修改pro文件四、生成MAKEFILE文件五、生成exe文件六、界面演示 上面两篇博客我们已经成功编译了qt的debug版本,下面我们基于这个编译的qt版本来创建一个qt的应用程序。一、新建一个Cpp文件,qt1.cpp#include <QtWidgets/QApplication>#include <QtWidgets/QLabel>i...原创 2021-11-25 20:22:33 · 733 阅读 · 0 评论 -
win10 64位下mingw4.9编译qt5.6.2
系统环境:windows10-64bit一、安装mingw 在电脑上安装mingw(搜索mingw for windows),将C:\MinGW\bin添加进环境变量,打开命令行输入gcc --version和g++ --version和mingw32-make --version验证安装成功。 也可以通过安装Dev c++4.9自动安装mingw。二、编译qt1、解压文件解压qt-everywhere-opensource-src-5.6.2.tar.gz并...原创 2021-11-21 22:52:25 · 2426 阅读 · 0 评论 -
Qt介绍及安装说明
目录一、Qt简介二、Qt的由来和发展三、为什么选择Qt四、Qt安装说明1、编译源码2、在线联网安装五、其它说明1、貌似不支持MinGw 32位版本的2、最后一个可离线下载安装exe的版本一、Qt简介 Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。 基本上,Qt 同X_Windows上的 Motif,Openwin,GTK 等图形界面库.原创 2021-11-21 09:26:27 · 1752 阅读 · 0 评论