牛骨文教育服务平台(让学习变的简单)
博文笔记

Qt——数组转换成字符串

创建时间:2014-11-23 投稿人: 浏览次数:137

要想将数组转换成字符串,首先,让我们来了解一下数组,在Qt中QVector头文件就包含了建立数组的函数。

QVector<int>vector(4);//建立一个int型数组,共4个元素
int *data=vector.data();//数组名称
int i;
for(int i=0;i<4;++i)
data[i]=3*i;

这时候数组里应该是0,3,6,9四个数组成了数组data

接下来就是要设置一个中间变量,至于为什么要设置到后来你们也就明白了,之前说了Qt没法实现直接把整型数组变成Qstring,那咱们就一个一个的把int数据转换成字符串;可以设置一个变量a,让a=data[i](i根据自己的需要来进行选择性的改变),然后就是要进行int换string了:

因为我之前做的是一个表格,所以直接就用表格显示了,data中第几个数字就显示在表格的第几行第二列这样子。

for (int x = 0; x < 4; ++x)   
{  
	QTableWidgetItem *item0;  
	item0 = new QTableWidgetItem;  
		
	int m=data[x];<span style="white-space:pre">			</span>      //中间变量m
	QString txt = QString("%1").arg(m);  //把数字十进制地转换成string型
	item0->setText(txt);  
	table->setItem( x , 1 , item0);  //把txt内容填进表格里	
      
}  

第一种转换方法就是上段中提到的如:

long a = 63;
QString s = QString("%1").arg(a);
当然,据我了解,还有一种方法可以将数字转成字符串

QString QString::number ( long n, int base = 10 )   [static]
如:

long a = 63;
QString s = QString::number(a, 10);             // s == "63"
QString t = QString::number(a, 16).toUpper();     // t == "3F"
关于QVector还可以参考这几篇文章

这篇关于QVector和QList、QLinkedList、QVarLengthArray的比较我觉得还不错,虽然人家主要讲的不是这个http://blog.csdn.net/suer0101/article/details/8561723

这篇关于QVector的应用讲的很详细http://www.360doc.com/content/14/0415/17/16086950_369228505.shtml



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。