首页 > 代码库 > QT5的模板库、工具类及控件(新手日志)

QT5的模板库、工具类及控件(新手日志)

一、字符串类QString:

1.操作字符串:

(1)“+”、“+=”操作符:

例:QString str=“Hello,”;

    str=str+“world!”;

    str+=“We come!”; //str=“Hello,world!We come!”

(2)QString::append()函数:(和“+=”操作符有同样功能)

例:QString str1 =“Hello,”;

    QString str2 =“world!”;

    str1.append(str2);  //str1=“Hello,world!”

(3)QString ::sprintf()函数:

例:str.sprintf(“%s %s”,“Welcome ”,“to you!”);//str=“Welcome to you!”

(4)QString::arg()函数:

例:str=QString(“%1 was born in %2”.arg(“I”).arg(“1995”));//str=“I was born in 1995”

(5)QString其它组合字符串:

①insert()函数:在特定位置插入另一个字符串

②prepend()函数:在开头插入另一个字符串

③replace()函数:可以用特定字符串代替原字符串

(6)QString::trimmed()函数:移除字符串两端的空白字符

QString::simplified()函数:作用和trimmed一样 ,并可以使多个空白字符用单个字符“”代替。

2.查询字符串数据:

(1)QString::startsWith(字符串,大小写敏感度):判断一个字符串是否以某个字符串开头。

(2)QString::endsWith(字符串,大小写敏感度):判断一个字符串是否以某个字符串结束。

(3)QString::contains(字符串,大小写敏感度):判断一个字符串是否包含某个字符串。

(4)比较两个字符串长度大小:

①operator比较符(const QString &)

②localeAwareCompare(const QString&,const QString&):前者小于后者,返回负数,反之。

③compare(const QString&,const QString&,QT::Casesensitivity):与localeAwareCompare()返回值类似,但可以进行大小写比较。

3.字符串转换:

(1)QString::toInt():将字符串转换为整型数值。类似的有:toDouble()、toFloat()等等。

4.容器类:

(1)QList:

①如果T是一个指针类型或指针大小的基本类型,QList<T>会直接将其存在数组中。

②如果Qlist<T>存储对象的指针,则该指针指向实际存储的对象。

(2)QLinkedList:QLinkedList<T>是一个链式列表,不能使用下标,只能使用迭代器访问其数组项。

(3)QVector:QVector<T>在内存中存储给定数据类型T的一组数值。既可以使用下标访问数据项,也可以使用迭代器访问数据项。

④QMap类:QMap<Key,T>提供了一个从类型为Key的键到类型T的值得映射。

⑤QHash类:QHash<Key,T>与QMap有几乎相同的API(应用程序编辑窗口)。其可以以任意顺序组织它的数据。

二、控件:(选取几个重要的和常用的)

1.按钮组:①Push Button 按钮②Radio Button 单选按钮

2.输入控件组:①Line Edit 行编辑②Time Eidt 时间编辑

例子:获取本地时间:

QLabel*datalabel =new QLabel();

QDateTime*datatime=new QDataTime(QDateTime::currentDateTime());

datalabel->setText(dataTime->date().toString());

datalabel ->show();

3.显示控件组:①Label 标签②QWebView Web视图

4.空间间隔组:①Horizontal Spacer 水平间隔② Vertical Spacer 垂直间隔

5.布局管理组:①Vertical Layout 垂直布局②Grid Layout 网格布局

布局例子:QLabel *label =new QLabel(tr("Name:"));

QLineEdit * lineEdit =new QLineEdit();

QHBoxLayout *layout =new QHBoxLayout();

layout->addWidget(label);

layout->addWidget(lineEdit);

layout->setLayout(layout);

6.容器组①Group Box 组框

7.项目视图组:①List View清单视图②Tree View 树视图

8.项目控件组:①List Widget 清单控件②Tree Widget 树控件③Table Widget 表控件


QT5的模板库、工具类及控件(新手日志)