Qt笔记(1)

来源:互联网 发布:鲨鱼记账怎么数据没了 编辑:程序博客网 时间:2024/04/30 11:37
一、字符串、字节数组和变量
1、QString是贯穿Qt应用编程接口的一个16位Unicode字符串
2、QByteArray是一个用来存储原始二进制数据的8位字符数组
3、QVariant类则可存储绝大多数C++和Qt类型
QString类型的使用:
1.两个QString类型可用+操作符进行连接也可使用+=操作符(相当于append()函数)
2.从其他字符串或者数组来建立一个字符串的方法是使用arg()函数
 Str=QString("%2").arg("Hui").arg("Wen");
3.将数字转换为QString类型可以采用QString::number()静态函数或setNum()函数
Str=QString::number(10);
Str=setNum(10);
4.可通过toInt()、toLong()、toDouble()等函数完成对字符串到数字的转换
5.mid函数能帮助我们从现有字符串中提取所需的部分
QString str="I am a xxxxx sss";
qDebug()<<str.(7,5);//打印出xxxxx
qDebug()<<str.mid(7);//打印出xxxxxsss
6.left()函数、right()函数分别从字符串的左右截取数据
QString str=" I am a xxxxxsss ";
str.left(1);//I
str.right(3);//sss
7.IndexOf()函数和lastIndexOf()分别用于查询所需查询字符的首位置和末位置
QStringstr=" I am a xxxxx sss ";
str.IndexOf(a);//2
str.lastIndexOf(a);//5
8.count()函数能用于统计字符串中所需查询字符的个数
QStringstr=" I am a xxxxx sss ";
str.count('s');//3
9.remove()函数用于删除字符串中的字符
QString str = "I am a xxxxxsss";
str.remove(2,2);
10.toAscii()和toLatin1()函数可用于将QString类型转换为QByteArray类型
QByteArray类型的data()函数和constData()函数用于将QByteArray类型转换为constchar*类型
宏qPrintable()可直接完成该功能。
二、QT中参数的保存方式
QT的参数保存和读取使用的是文件保存方式,将所有的参数都保存到一个对应的文件中,每一个参数占用一行,每次取参数的时候就取其中一行。
参数保存中用到的类有QFile、QTextStream。
三、Qt中字符的转换

qt中将int、long型转换成char、string

char转换成QString

  QStringbuf=QString(QLatin1String(char));//char 转换为QString

QString 赋值为char 

str.toStdString().c_str()

例如char tockenID[60];

    QStringstr=ui->lineEdit_getTokenID->text();

   strcpy(tockenID,str.toStdString().c_str());

QString string int double char* 等类型的相互转化

下面总结下我知道的几种类型互转的方式:

1 QString --> string

QString.toStdString();

2 string --> QString

QString::fromStdString(string)

3、 QString --->int,double,char *

 QString::toInt()

 QString::toDouble()

 QString.toStdString().c_str();

 4 、int double char*--->string

 可以采用<sstream>里的stringstream

以int 为例,int a = 3;

stringstream ss;

string strInt;

ss<<a;

ss>>strInt; 

其他两个一样。 

5 、int double char*装QString 

一种方法可以先转string,再转QString。另一种方法可以查看QString类的函数。

QString::number()这个静态函数,参数可以是int,也可以是double。

6 、double int的互转

可采用static_cast

QString QString::number ( long n, int base = 10 ) [静态]

一个把数字n转换为字符串的方便函数,n被基于base表示,默认为10,并且必须在2到36之间。

  long a = 63;

  QString str =QString::number( a, 16 );        // str =="3f" 

  QString str =QString::number( a, 16 ).upper();   // str =="3F" 

也可以参考setNum()。

实例:action/application.cpp、application/application.cpp、chart/chartform.cpp、

fonts/simple-qfont-demo/viewer.cpp、mdi/application.cpp和sql/overview/extract/main.cpp。 

QString QString::number ( ulong n, int base = 10 ) [静态]

 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

 也可以参考setNum()。

QString QString::number ( int n, int base = 10 ) [静态]

 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

也可以参考setNum()。

QString QString::number ( uint n, int base = 10 )[静态] 

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

一个把数字n转换为字符串表示的方便制造函数,n被基于base表示,默认为10,并且必须在2到36之间。

也可以参考setNum()。


原创粉丝点击