使用QT的QString 一时还不习惯,总结了一下QString 的一些基本操作,例如QString的控制台输出, QString 数值 转换,
所有SU_DEBUG可以看作printf函数的名字
1. QString的printf输出
由于printf只能接受 const char * 类型, QString 需要使用ToAscii转换为 QByteArray后,获取其data,再传给printf
static void Test_Print (){
QString str("hello");SU_DEBUG(str.toAscii().constData());}
QT一般不建议使用printf输出
1. Qstring 格式化字符串输出
QString使用arg来支持格式化字符串,与C# 或者JAVA使用的占位符相似,因为是强类型的替换,通过重载的arg函数可以知道传入参数的类型
static voidTest_FormatString()
{
QString fmt("%1 %2");QString str = fmt.arg(10).arg(20);SU_DEBUG(str.toAscii().constData());}
2. 数值到Qstring 的转换
有两种,一种是静态方法直接返回新字串 QString::Number,另外一种是QString的成员函数setNum,返回引用
static voidTest_Number2String()
{
QString str;str.setNum(100);SU_DEBUG(str.toAscii().constData());str = QString::number(200);SU_DEBUG(str.toAscii().constData());}
3. QString 到数值的转换
成员函数直接输出
static voidTest_String2Number()
{
QString str("100");SU_DEBUG("QString [%s] to int [%d]",str.toAscii().constData(), str.toInt());}