c++ - 在列表小部件 Qt C++ 中显示数组内容

标签 c++ arrays qt qstring

我想用 Qt 和 C++ 在列表小部件(基于项目)中显示我的数组的一些内容,我试过了,但它不起作用:

QString exemple[2] = 'blablabla'
ui->listWidgetResult->addItem(exemple[2].toStdString().c_str());

谢谢!

最佳答案

这行不通:

QString example[2] = 'blablabla'

首先,' 用于char 值,而不是字符串。其次,您要声明一个包含两个 QString 的数组,但将其分配给一个 C 字符串。你的意思可能是这样的:

QString example[2] = {"blabla", "blabla"};

您实际上可以缩写为:

QString example[] = {"blabla", "blabla"};

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

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

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

for (const auto& str : example) {
    ui->listWidgetResult->addItem(str);
}

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

关于c++ - 在列表小部件 Qt C++ 中显示数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367458/

相关文章:

c++ - 使用 C++ 的 libcurl 中出现 “could not resolve host” 错误

c++ - 在 C++ 中传递字符数组

c++ - 为什么没有 qRegisterMetaType q_enum 无法获得正确的类型值?

qt - 找不到 -lQt5Guid 和 -lQt5Cored

c++ - 无法解析标识符 __PRETTY_FUNCTION__

c++ - 为什么在 Release模式下可以在调试器中监视部分变量?

c++ - operator+ 和 move 语义

c - 请解释这段C代码的输出

java - Java 数组是同构的,而 ArrayList 不是,这是什么意思?

qt - QML ListView、SwipeView 等 - 避免与其他 UI 组件重叠