Chapter VII of the Qt Object Model and containers

2019-9-12

  1. Object Model
    1) signals and slots
用于两个对象之间进行通信
需要继承自QObject或其子类
信号只用声明,不需要定义,返回值是void
必须在类声明的最开始处添加Q_OBJECT宏
槽和信号类型相对应,并且不能比信号参数多

2) the property system

一个属性的表现就像一个普通的数据成员一样,但是它有额外供元对象系统访问的特性。

3) the object tree and ownership
4) Meta-Object System

  1. Container class

1) Introduction
sequential container: QList ...
associated containers: QMap ...

QList是一个指针数组

2) traverse the container

Java风格迭代器:指向项目之间
STL风格迭代器:直接指向项目
foreach关键字

3) General Algorithm
4) QString
implicitly shared (shallow and deep copy replication), the editing operation, a query operation, the switching operation

str = "%1 %2";
qDebug() << str.arg("%1f","hello");      // 结果为%1f hello
qDebug() << str.arg("%1f").arg("hello"); // 结果为hellof %2
第二种情况我是这么理解的:可以当作先用hello替换第一个arg函数里的%1,再用hellof
替换str里的%1
arg( )里的参数在进行替换时,只会按照数字从小到大的顺序进行替换,只有比当前数字
小的所有数字都替换完成了,才会替换当前数字,否则将当前数字和%按字符串处理且
数字为自然数!
‘g’ 或 ‘G’,指示后面的精度为整数和小数部分总和的长度;
’e’或 ‘E’ 时,表示为科学记数法形式,精度部分指示的为小数部分的位数长度;

5)QByteArray、QVariant

QVariant类型是常见的Qt数据类型的一个共用体(union)
  1. Regular expressions
    1) Introduction
表达式:各种字符和字符组
量词:必须要匹配的表达式出现的次数
断言:做出一些有关文本的声明
从字符串的开始进行匹配:^;
匹配到字符串的结尾:$

2) the constituent elements
3) Text Capture

使用括号可以捕获被匹配的单词,使用cap()函数来提取匹配的字符

4) New QRegularExpression

模式字符串:
模式选项:更改模式字符串的含义
Published 179 original articles · won praise 79 · views 70000 +

Guess you like

Origin blog.csdn.net/qq_34600424/article/details/100783133
Recommended