如何在Qt中传递数组?

时间:2011-11-16 07:06:04

标签: qt qt-creator

我正在使用我的Qt应用程序与Web服务器进行通信。我得到的回复包含一个字符串列表。所以我将响应存储到QStringList中。我必须以另一种形式显示这些字符串值。我如何将此列表传递给另一个表单。

2 个答案:

答案 0 :(得分:0)

由于QStringList(有效QList<QString>)是Qt generic containers系列的一部分,因此它使用implicit sharing。这意味着,如果您按价值传递,您只会执行浅拷贝,也就是说您实际上只会传递薄书 - 保持数据结构的一部分 - 指向其他地方存在的更大数据块的指针。这个数据块只需要存在于一个地方(堆上),但可以由多个QLists引用。

做类似的事情:

void Foo::Pass()
{
  QStringList List;
  //fill list
  mCatch->Catch(List);
}

void Bar::Catch(QStringList List)
{
  //use list
}

答案 1 :(得分:0)

除非我弄错了,否则您希望将字符串值列表加入单个字符串并将其显示在标签上?如果是这样,请使用QStringList::join()方法。