一 、QChar
QChar(); // 构造一个空字符,即'\0' QChar(char ch); // 由字符数据ch构造 QChar(uchar ch); // 由无符号字符数据ch构造 QChar(ushort code); // 由无符号短整形数据code构造,code是Unicode编码 QChar(short code); //由 短整形数据code构造,code是Unicode编码 QChar(uint code); // 由无符号整型数据code构造,code是Unicode编码 QChar(int code); // 由整型数据code构造,code是Unicode编码
实际使用时很少直接构造 QChar 类的对象,而是把这些构造函数当做类型转换来用,让编译器自动构造所需的QChar类对象。也就是说,在所有需要QChar类作为参数的地方都可以安全地使用各种整数类型。
判断
bool isDigit() const; // 判断是否是十进制数字('0' - '9') bool isLetter() const; // 判断是否是字母 bool isNumber() const; // 判断是否是数字,包括正负号、小数点等 bool isLetterOrNumber(); // 判断是否是字母或数字 bool isLower() const; // 判断是否是小写字母 bool isUpper() const; // 判断是否是大写字母 bool isNull() const; // 判断是否是空子符'\0' bool isPrint() const; // 判断是否是可打印字符 bool isSpace() const; // 判断是否是分隔符,包括空格
转换:
char toAscii() const; // 得到字符的ASCII码 QChar toLower() const; // 转换成小写字母 QChar toUpper() const; // 转换成大写字母 ushort unicode() const; // 得到Unicode编码注意这几个函数都不会改变对象自身,转换的结果通过返回值反映出来。
bool
bool
bool
bool
bool
bool
二、QString类:
构造:
Qstring(); // 构造空字符串 QString(QChar ch); // 由 QChar 对象 ch构造 QString(const QChar *pch, int size); // 由 QChar 数组pch构造,size 是数组大小 QString(const QString &obj); // 拷贝构造函数 QString(const char *str); // 由字符串 str 构造,str是一个普通字
判断
double toDouble(bool *ok = 0) const; // 转换为高精度浮点数 float toFloat(bool *ok = 0) cosnt; // 转换为浮点数 int toInt(bool *ok, int base = 10) const; // 转换为整型数 long toLong(bool *ok, int base = 10) cosnt; // 转换为长整型 short toShort(bool *ok, int base = 10) const; // 转换为短整型 uint toUInt(bool *ok = 0; int base = 10) const // 转换为无符号整型数 ulong toLong(bool *ok = 0, int base = 10) const; // 转换为无符号长整型数 ushort toUShort(bool *ok = 0, int base = 10) const; // 转换为无符号短整型数
注意: 当字符串以 0x开头时,转换的基自动转换为16, 当字符串以0开头时,转换的基自动为8。
还有一些将其他类型转换成QString的方法:
使用static的函数number()可以把数字转换成字符串。例如:
你也可以使用非static函数setNum()来实现相同的目的:
字符串的拼接:
一、QString可以自动的对占用内存空间进行扩充,这种连接操作是恨迅速的。下面是这两个操作符的使用:
二、QString的append()函数则提供了类似的操作,例如:
三、C语言中有printf()函数作为格式化输出,QString则提供了一个sprintf()函数实现了相同的功能:
这句代码将输出:perfect competition 100.0%,同C语言的printf()一样。不过前面我们也见到了Qt提供的另一种四、格式化字符串输出的函数arg():
这段代码中,%1, %2, %3, %4作为占位符,将被后面的arg()函数中的内容依次替换,比如%1将被替换成permissive,%2将被替换成society,%3将被替换成 1950,%4将被替换曾1970,最后,这句代码输出为:permissive society (1950s-1970s). arg()函数比起sprintf()来是类型安全的,同时它也接受多种的数据类型作为参数,因此建议使用arg()函数而不是传统的 sprintf()。