Qt widgets deeps--烧鸡

1,Qt类读取目录

QDir读取目录内容--将读取结果输出到一个QMultiLineEdit对象

QMultiLineEdit *medit;

medit = new QMultiLineEdit(this);----显示所查找到的文件

linux下/目录在window平台下编译 ,它会被自行转换为C:创建QDir对象

QFileInfo::readLink()符号连接所指的源文件

owner()

2,处理文本和理解常规表达式--验证功能--确保用户输入正确信息QValidator,reglar express

Regular Expression  --元字符(表示一个或多个常量字符---),转义序列--;

.匹配任意单个字符,^匹配字符串首字符^12,Ruiy$()匹配字符串结尾字符串

[]括号 内的任意字符 Meta characters

* 匹配任意数量 的前导字符+匹配前导字符*表示任意--最小可为0,+--不可为0

? 一个或0个

QRegExp::setWildcard(TRUE)

常规表达式,统配模式--匹配任意字符还是匹配前导符--零个,单个,多个

常规表达式--MetaCharacter

?--0 or 1

+--1~

*零个~

$^[] .

4,预定义验证class

QDoubleValidator and QIntValidator()验证双精度整数数值.

QDoubleValidator校验浮点

QDoubleValidator参数验证者能够接受的最小值,验证者能够接受的最少小数位数

QLineEdit对象使用dvalid(QDoubleValidator)验证输入字符的合法合需性

edit->setValidator(dvalid);

valid.o: In function `MyMainWindow::MyMainWindow()':
valid.cpp:(.text+0x167): undefined reference to `vtable for MyMainWindow'
valid.o: In function `main':
valid.cpp:(.text.startup+0x43): undefined reference to `vtable for MyMainWindow'
valid.cpp:(.text.startup+0x8c): undefined reference to `vtable for MyMainWindow'
collect2: error: ld returned 1 exit status
make: *** [double] Error 1
View Code

3,QIntValidator验证整数类,QDoubleValidator 验证浮点

省略代表最小位数的构造函数参数;

4,container

存储和访问容器类中对象,inline object

queue,stack;

栈--数据结构DataStruct,需要向列表中插入元素,之后用相反顺序(后进先出)

queue--队列--排队,列表与插入时相同的顺序(先进先出)检索元素

Qt用QStack and QQueue,对象列表,用相反顺序检索他们---栈

typedef QStack<char> StringStack;创建一个处理char元素的特殊类型,新类型别名StringStackChar

typedef QStack<int> IntStack

定义容器类--存储类型的C++方法;标准模板库STL(Standard Template Library)

栈用指针处理元素

typedef QStack<char*> StringStack

栈总是存储指针--内存Address

栈--压入push,弹出pop,QStack::push().QStack::pop()

QStack::pop()检索元素,删除它从列表中检索的元素,QStackCurrent()检索元素但不删除,为了从栈中删除一个元素而不检索,QStack::remove ,QStack从元素插入的另一端检索元素,QQueue

原文地址:https://www.cnblogs.com/ruiy/p/4372632.html