QString而不是printf

时间:2012-09-24 10:59:47

标签: qt4

如何通过QString

显示字符串的一部分
plainTextEdit->appendPlainText(QString(a.c_str()))
在QtSDK中

?例如。在C中我们这样做:

int length = 5;
printf("%*.*s", length, length, "hello there");

2 个答案:

答案 0 :(得分:1)

您可以从 QString 获取子字符串。为此,您可以使用左侧右侧中间 methods QString

以下是给定链接的示例:

QString x = "Nine pineapples";
QString y = x.mid(5, 4);            // y == "pine"
QString z = x.mid(5);               // z == "pineapples"

答案 1 :(得分:0)

步骤1: QString QString :: mid(int position,int n = -1)const 返回一个字符串,该字符串包含此字符串的n个字符,从指定的位置索引开始。

如果位置索引超过字符串的长度,则返回空字符串。如果从给定位置开始的字符串中可用的字符少于n个,或者如果n为-1(默认值),则该函数返回指定位置可用的所有字符。

示例:

 QString x = "Nine pineapples";
 QString y = x.mid(5, 4);            // y == "pine"
 QString z = x.mid(5);               // z == "pineapples"

步骤2: QString QString :: fromStdString(const std :: string& str)[静态] 返回str字符串的副本。使用fromAscii()函数将给定的字符串转换为Unicode。

仅当Qt配置为启用了STL兼容性时,此构造函数才可用。