在List Widget Qt C++中显示数组内容

Ran*_*952 2 c++ arrays qstring qt

我想用Qt和C++在List Widget(基于项目)中显示我的数组的一些内容,我尝试了这个,但它起作用了:

QString exemple[2] = 'blablabla'
ui->listWidgetResult->addItem(exemple[2].toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)

谢谢 !

Nik*_* C. 5

这不起作用:

QString example[2] = 'blablabla'
Run Code Online (Sandbox Code Playgroud)

首先'char值,而不是字符串.其次,您声明了两个QStrings的数组,但将其分配给C字符串.你的意思是这个:

QString example[2] = {"blabla", "blabla"};
Run Code Online (Sandbox Code Playgroud)

您实际上可以缩写为:

QString example[] = {"blabla", "blabla"};
Run Code Online (Sandbox Code Playgroud)

要将数组的每个字符串添加到列表小部件,您需要单独添加每个字符串.此外,无需转换为C字符串.QListWidget :: addItem()接受QStrings:

for (int i = 0; i < sizeof(example); ++i) {
    ui->listWidgetResult->addItem(exemple[i]);
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您有一个支持C++的最新编译器 - 11:

for (const auto& str : example) {
    ui->listWidgetResult->addItem(str);
}
Run Code Online (Sandbox Code Playgroud)

最后,您应该考虑将它们保存在QStringList中,而不是使用普通数组来保存QStrings.然后,您可以使用简单地传递整个QStringList addItems().