C++/QT
文章平均质量分 97
小卒曹阿瞒
这个作者很懒,什么都没留下…
展开
-
Qt知识点梳理与踩过的坑
一、杂记 //管理整个应用程序所用到的资源 QApplication a(argc, argv); ///将应用程序的控制权传递给Qt,程序进入事件循环,等待鼠标,键盘等事件 return a.exec(); ///这句初始化静态窗体,内部建立所需要的信号和槽对应 ui->setupUi(this);img = img.rgbSwapped(); //BG...原创 2018-03-08 16:35:25 · 3290 阅读 · 1 评论 -
Qt quazip编译与使用
环境:QtMSVC版5.6.0+VS2015编译器 +win10 1.quaiz为生成quazip.lib 和 quazip.dll(debug版为quazipd.lib和 quazipd.dll) 的工程,需要依赖zlib库。首先编译zlib,zlib-1.2.11.tar.gz。打开vs自带控制台x86(编译64位就打开64位的控制台),输入 nmake -f win32/Makefile.m...原创 2018-05-25 10:26:19 · 2521 阅读 · 0 评论 -
C++Qt设计模式笔记(一)
这本书虽然叫这个名字,但是好像与设计模式没有什么关系,介绍的大部分是C++基础和Qt基础,不过无所谓了,查漏补缺,把忘记过的一些知识点再记录一下。...原创 2018-05-14 17:32:39 · 6627 阅读 · 0 评论 -
QSS入门(一)
一个比较挫的drakstyle的设置界面,原谅我的设计能力。。。主要是QSS的学习,使界面美化与业务逻辑分离。不想说什么语法,什么介绍,直接上QSS加注释,方便自己查看。QSpinBox,QComboBox{ //设置spinBox combox 类和他们的所有子类的styleborder:1px solid #242424; //设置borderbo...原创 2018-05-11 15:51:09 · 53075 阅读 · 9 评论 -
Qt 部分文字变色
业务需求,想要两个字符串比较的时候,不一样的字符标红。查了半天好像没有什么适合的函数,那就自己画吧MRZLabel::MRZLabel(QWidget *parent):QLabel(parent){}void MRZLabel::drawText(const QString &s1,const QString &s2){ m_str1 = s1; ...原创 2018-03-29 10:03:58 · 2837 阅读 · 0 评论 -
Qt 模型视图
Widget::Widget(QWidget *parent) : QWidget(parent){ QStringList data; data << "Letter A" << "Letter B" << "Letter C"; model = new QStringListModel(this); model->se转载 2018-04-01 20:48:40 · 220 阅读 · 0 评论 -
Qt文件
QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFlie:访问本地文件或者嵌入资源;QTemporaryFile:创建和访问本地文件系统的临时文件;QBuffer:读写QByteArray;QProcess:运行外部程序,处理进程间通讯;QAbstractSocket:所有套接字类的父类;QTcpSocket:TCP协议网络数据传输;QUdpSocket:...转载 2018-03-31 23:15:05 · 248 阅读 · 0 评论 -
QT 画图
#include "widget.h"///线性渐变(QLinearGradient)/// 辐射渐变(QRadialGradient)/// 角度渐变(QConicalGradient)/// 设置渐变是在QBrush里面///////// Graphics View 框架包含了一套完整的事件体系,可以用于与场景中的元素/// 进行双精度的交互。这些元素同样支持键盘事件、鼠标事件等。Graphi...转载 2018-03-31 18:39:18 · 1506 阅读 · 0 评论 -
Qt拖拽事件检测不到
我的QtCreater以UAC(管理员权限)运行的,怎样都检测不到拖放事件(dragEnterEvent),后来不从Creater启动,去程序目录下启动,就检测到了,,,好坑,,,估计你的程序要是设置了,以管理员权限运行,这辈子都检测不到了,,,...原创 2018-04-08 16:00:01 · 2104 阅读 · 2 评论 -
Qt 事件杂记
CustomButton::CustomButton(QWidget *parent) : QPushButton(parent){ connect(this, &CustomButton::clicked, this, &CustomButton::onButtonCliecked);}void CustomButton::onButtonCli...转载 2018-03-30 19:11:34 · 176 阅读 · 0 评论 -
Inside Qt Series (全集)
Inside Qt 系列QObject这个 class 是 QT 对象模型的核心,绝大部分的 QT 类都是从这个类继承而来。这个模型的中心特征就是一个叫做信号和槽(signaland slot)的机制来实现对象间的通讯,你可以把一个信号和另一个槽通过 connect(…) 方法连接起来,并可以使用 disconnect(…) 方法来断开这种连接,你还可以通过调用blockSignal(…) 这个方...转载 2018-03-30 15:09:57 · 453 阅读 · 0 评论 -
Qt MetaObject System详解之五:signal&slot
本篇探析signal slot的连接和调用是如何实现的。宏SLOT,SIGNAL在qobjectdefs.h中有这样的定义:# define METHOD(a) "0"#a# define SLOT(a) "1"#a# define SIGNAL(a) "2"#a不过是在方法签名之前加了一个数字标记。因为我们既可以将signal连接到slot,也可以将signal连接到signal...转载 2018-03-30 14:58:49 · 484 阅读 · 0 评论 -
Qt MetaObject System详解之四:meta call
所谓meta call就是通过object的meta system的支持来动态调用object的方法,metacall也是signal&slot的机制的基石。本篇通过参考源代码来探究meta call的实现方法。QMetaObject::invokeMethod():bool invokeMethod ( QObject * obj , const char * member , Qt::...转载 2018-03-30 14:58:00 · 6361 阅读 · 0 评论 -
Qt MetaObject sysmtem 详解之三:QMetaObject接口实现
本篇从Qt MetaObject源代码解读相关接口的实现,这些接口都定义于qmetaobject.cpp中。QMetaObject::className()inline const char *QMetaObject::className() const{ return d.stringdata; }从前一篇可知,d.stringdata就是那块字符串数据,包含若干c字符串(以'\0')结尾。如果...转载 2018-03-30 14:55:27 · 2674 阅读 · 0 评论 -
Qt MetaObject System详解之二:meta数据和数据结构
如果一个类的声明中包含Q_OBJECT宏,那么qmake将为这个类生成 meta信息,这个信息在前一篇中所提到的moc文件中。这一篇通过解析这个一个示例moc文件来阐述这些meta信息的存储方式和格式;本篇先说明了一 下QMetaObject的数据结构,然后呈现了一个简单的类TestObject类及其生成的moc文件,最后对这个moc文件个内容进行了详细解释。QMetaObject的数据定义:QM...转载 2018-03-30 14:54:39 · 1312 阅读 · 0 评论 -
Qt meta-object(一)
这个系列的几篇文章通过阅读Qt帮助文档和相关的源代码来学习研究Qt meta-object所提供的功能,及其实现的方式。Qt meta-object系统基于三个方面: 1、QObject提供一个基类,方便派生类使用meta-object系统的功能; 2、Q_OBJECT宏,在类的声明体内激活meta-object功能,比如动态属性、信号、槽; 3、Meta Object编译器(MOC),为每个QO...转载 2018-03-30 14:51:21 · 1283 阅读 · 0 评论 -
杂记——Unicode字符集
Unicode是字符集,但是微软在windows上把Unicode视为utf-16,即一个字符占2个字节16位。utf-16是Unicode的一种编码规则,与此同时还有utf-8 ,utf-32。 utf-8将一些字符编码为1个字节,一些字符编码为2个字节,一些字符编码为3个字节,一些字符编码为4个字节。 utf-16将每个字符都编码为2个字节 ...原创 2018-03-01 14:01:34 · 234 阅读 · 0 评论 -
编译器中和64位编程有关的预定义宏
原文地址:http://blog.csdn.net/liangbch/article/details/36020391本文对分别测试VC,MinGW,GCC 三种编译器,32位和64位模式,共6种情况下,和64位编程有关的与预定义宏的值。对跨平台编程具有参考意义。 Agner Fog 在他的《Calling conventions for different C++ compilers and o...转载 2018-03-01 11:17:06 · 2068 阅读 · 0 评论 -
C++Qt自己实现读取ini文件
自己用Qt里的QFile类,实现的读取配置文件但是不会像使用QSetting一样格式化注释什么的,只是简单的文件和字符串操作。先看下我的配置文件和需求。需求:读取Config.ini的MaxNum,StatusBeforeCrop,BeforeCropPath的值到设置框里,并且修改后保存会配置文件中。配置文件:上代码没有声明的变量都是成员变量。读取的时候最好也utf-8编码否则写回去的时候会乱码...原创 2018-05-16 15:10:11 · 2106 阅读 · 1 评论