En CSharp su tan simple como la escritura:¿Cómo puedo iterar a través de elementos de QListWidget y trabajar con cada elemento?
listBox1.Items.Add("Hello");
listBox1.Items.Add("There");
foreach (string item in listBox1.Items)
{
MessageBox.Show(item.ToString());
}
y puedo añadir fácilmente diferentes objetos a un cuadro de lista y luego recuperarlos usando foreach. He probado el mismo enfoque en Qt 4.8.2, pero parece que están different.though tienen un aspecto muy similar en first.i encontró que Qt soporta foreach así que fui y traté de algo como:
foreach(QListWidgetItem& item,ui->listWidget->items())
{
item.setTextColor(QColor::blue());
}
cuales falló claramente. Dice que los elementos() necesitan un parámetro que me confunde. Estoy tratando de iterar a través del ListBox mismo, entonces, ¿qué significa esto? Traté de pasar el objeto ListBox como el parámetro de sí misma, esta vez falló también:
foreach(QListWidgetItem& item,ui->listWidget->items(ui->listWidget))
{
item.setTextColor(QColor::blue());
}
Así que aquí están mis preguntas:
- ¿Cómo puedo iterar a través de un artículo en QListWidget en Qt?
- ¿Puedo almacenar objetos como elementos en QListWidgets como C#?
- ¿Cómo puedo convertir un objeto en QListWidgets en una cadena (parte del contador ToString de C# en Qt)?
(supongamos que quiero usar un QMessagBox en lugar de que SetTextColor y desea imprimir todos los elementos de cadena en la QlistWidget.)
Gracias por esto. Es desafortunado que Qt decidió crear un método de clase de elementos que no devuelva una colección de QListWidgetItems como uno esperaría con un método de clase de elementos para cualquier otra biblioteca de desarrollo. Confuso y torpe Quiero decir, ¿por qué alardear de un foreach() en Qt cuando ni siquiera proporcionan una forma de iterar los subelementos de este widget con él? – Volomike