Qt学习总结
文章平均质量分 54
Qt学习过程中的点滴
无尽V深海
这个作者很懒,什么都没留下…
展开
-
Qt之TinyXML2
Qt没有引入QtXml模块以前,采用第三方库解析Xml数据是不得已的选择,其中Tinyxml2在c++的xml解析库中是个不错的选择。先前项目使用Tinyxml作为底层XML解析库,升级为TinyXML2后文件减少成2个,接口也发生很多变化。原创 2024-01-22 23:15:43 · 242 阅读 · 0 评论 -
Qt之QxOrm
QxORM库是一种为了C++/Qt开发者服务的关系对象映射型数据库的类库,每个类都有简单的C++设置函数,你可以接触到如下特性:持久性:支持最常见的数据库,如 SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、MongoDB(具有 1-1、1-n、n-1 和 n-n 关系)。序列化:JSON、二进制和 XML 格式。反射(或内省):动态访问类定义、检索属性和调用类方法。原创 2024-01-16 21:58:00 · 1523 阅读 · 0 评论 -
Qt之引入Boost
此外,boost库比较大,如果仅用部分特性的话,比如像我仅需要使用smartptr和function的,整个库全部搬过来就很大了,需要使用bcp工具进行裁剪。不过值得注意的是,window下裁剪我一直报错,Linux下裁剪没问题,可以正常使用,建议直接在Linux环境下裁剪,然后复制到win平台。对于boost开发库,部分库可以以源码形式结合到工作代码中,有的必须以库文件的形式,具体看boost的说明。了解常用的几个库的用法,罗的《Boost程序库完全开发指南》对于常用的也介绍了。Boost入门可以看。原创 2023-11-08 15:18:11 · 932 阅读 · 0 评论 -
Qt之AVI录屏
/******** CScreenShot.h **************/#ifndef __CSCREENSHOT_H#define __CSCREENSHOT_H#include <QRunnable>#include <QPixmap>#include <QMutex>#include <QWaitCondition>#include <QThread>#define CollectGarbage(className)原创 2022-01-22 21:23:01 · 1377 阅读 · 1 评论 -
Qt之程序崩溃原因定位手段
由于Qt主要作为跨平台的界面库存在,在Linux环境下定位问题较Windows下难,主要记录Linux环境下Qt程序崩溃原因定位的方法。Core文件生成backtracebreakpadcrashpad原创 2022-01-22 20:50:56 · 4746 阅读 · 0 评论 -
Qt之Sqlite insert 方法对比
在台式机上测试Sqlite不同插入方案对比发现:select-stmt是插入速度最快的方式,事务虽然也能加快插入数据,相较于STMT还是慢了不少。#include <QCoreApplication>#include <QSqlQuery>#include <QSqlDatabase>#include <QSqlDriver>#include <QSqlError>#include <QDateTime>#includ原创 2021-05-09 19:43:08 · 943 阅读 · 0 评论 -
Qt之事件处理
Qt提供5种级别事件处理与事件过滤方法1. 重新实现特殊的事件处理器以QLabel为例,QLabel类中可以重写的虚函数有如下11个函数。如果期望的事件在如下10个中,就可以继承QLabel重写如下的函数。virtual void changeEvent(QEvent *ev) overridevirtual void contextMenuEvent(QContextMenuEvent *ev) overridevirtual void focusInEvent(QFocusEvent *原创 2021-04-18 21:05:05 · 259 阅读 · 0 评论 -
Qt之Q_PROPERTY
Qt样式表分离中需要使用到Q_PROPERTY宏,在代码现在的版本中,使用样式表主要还是使用setStyleSheet(),但是考虑到后续样式表分离,使用QSS就不得不提及Q_PROPERTY了。Qt Style Sheets Examples:https://doc.qt.io/archives/qt-4.8/stylesheet-examples.htmlQ_PROPERTY:http...原创 2020-04-12 16:11:34 · 541 阅读 · 0 评论 -
Qt之QSignalMapper
资料来源:https://doc.qt.io/archives/qt-4.8/qsignalmapper.htmlhttps://blog.csdn.net/mcgrady_tracy/article/details/6996947在源码中存在大量的信号转发代码,也存在极少量信号转发器代码。从上述问题来看项目源码所出现问题单最终绝大部分可以归结于信号-槽问题。在QT编程中,如果遇到多个控件,...原创 2020-04-12 14:14:41 · 205 阅读 · 0 评论 -
Qt之自建标题栏
在项目中遇到QDialog在双击标题栏时对话框会最大化的情况,由于设置MaxmiumSize等都没有效果的情况下所以自建标题栏。// TitileBar.h#ifndef __TITLEBAR_H_#define __TITLEBAR_H_#include <QDialog>class QEvent;class QMouseEvent;class QPixmap;c...原创 2020-04-12 10:26:14 · 620 阅读 · 0 评论 -
Qt之内存数据库
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。所以在有大量数据交互时使用内存数据库,等到数据交互量降下来以后同步至本地数据库也是个不错的选择。 下段代码是我事先将部分数据插入内存数据库,便于后续数据交互时查表使用。/** @brief 将自检信息表存入内存数据库...原创 2019-11-18 19:47:27 · 3048 阅读 · 2 评论 -
Qt之QDialog
QDialog特性: 对话框是一个顶级窗口,大多数用于临时任务和短暂交流。QDialog可能是modal或者modeless;QDialog还可以提供一个返回值;QDialog可以提供default buttons;最后QDialog用setSizeGripEnabled()还是可以在低层次中心提供一个QSizeGrip类; QDialog或者其他有Qt::Dialog类型的widge...原创 2019-10-26 23:27:03 · 1148 阅读 · 0 评论 -
Qt之QObject
1.梗概 QObjects会自我构建对象树,当你创建一个以另一个对象作为父对象的QObject对象时,它被加到父对象的children()列表中,同时当父对象被删除时其也被删除,这被证明是非常适应GUI的应用需求。例如,QShortcut是一个相关窗口的子对象,当用户关闭窗口时,shortcut也会被删除。2.QObject构造/析构的次序 当QObjects在堆上创建出来,对象树...翻译 2020-04-12 17:13:15 · 289 阅读 · 0 评论 -
Qt之Map嵌套对象指针的删除(其他容器也适用)
Method 1:使用qDeleteAll h: QMap<int,QString>* MapValueForWarn; QMap<int,QMap<int,QString>*>* MapCatchForWarn; QVector<QMap<int,QMap<int,QString>*>*>* VecCa...原创 2019-08-19 19:50:01 · 1873 阅读 · 0 评论 -
Qt之Sqlite3 Insert优化
最近在项目遇到一个问题,就是插入大量数据时启动程序会特别卡,一开始我使用线程缓解了一点,但是仍然会卡很久,今天在复习Sqlite相关内容时,突然发现了一个与我很相似的情况。究其主要原因还是执行INSERT语句时还有很大问题。在Sqlite官网关于INSERT的方式中INSERT过程中最后如果使用VALUES那条路会比select-stmt和DEFAULT -VALUES多走很多路,可能这样就导...原创 2019-07-31 19:43:30 · 915 阅读 · 0 评论 -
Qt之PaintEvent
从Qt官方给的例程可以看出,如果想将绘图加入事件循环共有两种方式:绘图事件和定时器事件两种方式,通常使用前者。(一) painterEvent在绘图事件中,如果想使用update()刷新页面是行不通的,除非使用新的定时器定时刷新页面。painterEvent来自QWidget的virtual protected function,其他一些控件例如QLabel、QLineEdit、QMenu...原创 2019-07-30 18:50:46 · 8466 阅读 · 1 评论 -
Qt之正则表达式一二三
/*** RegExpTest.h*/#include <QDialog>#include <QValidator>class QLabel;class QLineEdit;class QRegExp;class QRegExpValidator;class QVBoxLayout;class QString;class Parser : p...原创 2020-04-12 13:29:36 · 370 阅读 · 0 评论