In CSharp seine so einfach wie Schriftfelter:Wie kann ich QListWidget-Elemente durchlaufen und mit jedem Element arbeiten?
listBox1.Items.Add("Hello");
listBox1.Items.Add("There");
foreach (string item in listBox1.Items)
{
MessageBox.Show(item.ToString());
}
und ich kann leicht verschiedene Objekte zu einem Listenfeld hinzufügen und sie dann foreach abrufen. habe ich versucht, den gleichen Ansatz in Qt 4.8.2, aber es scheint, sie sind different.though sie zuerst in Verbindung sehr ähnlich aussehen gefunden, dass Qt unterstützt foreach so ging ich auf und versuchte so etwas wie:
foreach(QListWidgetItem& item,ui->listWidget->items())
{
item.setTextColor(QColor::blue());
}
die scheitert eindeutig. Es sagt, dass die items() einen Parameter brauchen, der mich verwirrt. Ich versuche, die ListBox selbst zu durchlaufen, also was bedeutet das? Ich versuchte, das ListBox-Objekt als Parameter übergeben sich dies scheiterte erneut zu:
foreach(QListWidgetItem& item,ui->listWidget->items(ui->listWidget))
{
item.setTextColor(QColor::blue());
}
hier also meine Fragen sind:
- Wie kann ich durch eine QListWidget Artikel in Qt iterieren?
- Kann ich Objekte als Objekte in QListWidgets wie C# speichern?
- Wie kann ich ein Objekt in QListWidgets in String konvertieren (C# s ToString Zähler Teil in Qt)?
(nehme ich einen QMessagBox anstelle des SetTextColor verwenden möchten, und wollen in der QListWidget alle String-Objekte auszudrucken.)
Dank dafür. Es ist bedauerlich, dass sich Qt dafür entschieden hat, eine Items-Klassenmethode zu erstellen, die keine Collection von QListWidgetItems zurückliefert, wie man es von einer Items-Klassenmethode für eine andere Dev-Library erwarten würde. Verwirrend und ungeschickt. Ich meine, warum prang ich mit einer foreach() in Qt, wenn sie nicht einmal eine Möglichkeit bieten, die Unterelemente dieses Widgets damit zu iterieren? – Volomike