В CSharp это так же просто, как написать:
listBox1.Items.Add("Hello");
listBox1.Items.Add("There");
foreach (string item in listBox1.Items )
{
MessageBox.Show(item.ToString());
}
и я могу легко добавлять различные объекты в список, а затем извлекать их с помощью foreach. Я пробовал тот же подход в Qt 4.8.2, но кажется, что они разные. Хотя на первый взгляд они очень похожи. Я обнаружил, что Qt поддерживает foreach, поэтому продолжил и попробовал что-то вроде:
foreach(QListWidgetItem& item,ui->listWidget->items())
{
item.setTextColor(QColor::blue());
}
что явно не удалось. Он говорит, что items () нуждается в параметре, который меня смущает. Я пытаюсь перебрать сам ListBox, что это значит? Я попытался передать объект ListBox, поскольку сам параметр тоже не удался:
foreach(QListWidgetItem& item,ui->listWidget->items(ui->listWidget))
{
item.setTextColor(QColor::blue());
}
Итак, вот мои вопросы:
- Как я могу перебирать элементы QListWidget в Qt?
- Могу ли я хранить объекты как элементы в QListWidgets, таких как C #?
- Как я могу преобразовать объект в QListWidgets в строку (счетчик ToString C # в Qt)?
(Предположим, я хочу использовать QMessagBox вместо этого setTextColor и хочу распечатать все строковые элементы в QlistWidget.)