sólo puedo encontrar ningún ejemplo en internet la forma de bucle y obtener cada elemento de la QListWidgetcómo puede iterar elemento foreach en QListWidget
Respuesta
int count = listWidget->count();
for(int index = 0;
index < count;
index++)
{
QListWidgetItem * item = listWidget->item(index);
// A wild item has appeared
}
La cosa de foreach
es totalmente diferente, creo.
Si quieres más información sobre esto, mira esto
http://doc.qt.digia.com/4.2/containers.html#the-foreach-keyword
abajo desplazarse a donde se habla de la palabra clave foreach
.
especial a Tomalak Geret'kal para añadir los caracteres propios que mi teclado es incapaz de producir :)
Debido a tantas upvotes sobre esto, voy a explicar la macro foreach aquí también.
foreach es una adición de C++ específica de Qt, implementada con el preprocesador. Si desea desactivar la cosa, simplemente agregue CONFIG + = no_claves a su archivo XX.pro.
Qt realiza una copia de la lista que se repite, pero no se preocupe por el rendimiento. Los contenedores Qt utilizan el uso compartido implícito, donde los contenidos reales no se copian. Piense en ello como dos variables de referencia que usan la misma variable real. Esto hace posible modificar la lista sobre la que está iterando, sin estropear el bucle. Tenga en cuenta que la modificación de la lista obliga a Qt a hacer una copia del contenido real de la lista la primera vez que se modifica.
foreach se puede utilizar para recorrer todos los contenedores Qt básicos, QList QVector QMap QMultiMap y más. QListWidget no es uno de estos, por lo que no funciona, lamentablemente. Para empeorar las cosas, QListWidget no proporciona una lista de todos los elementos, solo los seleccionados. Hay un método llamado artículos, que parece ser bueno, pero está protegido.
para recorrer los elementos seleccionados, creo que esto funcionaría
foreach(QListWidgetItem * item, listWidget->selectedItems())
{
// A wild item has appeared
}
El first Google result para "QWidgetList" me dijo how to do it.
Puede usar un iterador QWidgetListIt
.
QWidgetList wl = get_some_widget_list();
for (QWidget* w = wl.first(); w != 0; w = wl.next()) {
// use w
}
// or
foreach (QWidget* w, wl) {
// use w
}
no estoy muy seguro de dónde proviene de esta foreach
. Si Qt no lo proporciona, puede ser una macro expandiéndose al BOOST_FOREACH
, para lo cual deberá incluir boost/foreach.hpp
.
foreach es una macro Qt proporciona en
@Arnold: Genial, gracias –
no hay QWidgetListIt en Qt 4.7 – user63898
- 1. ¿Cómo puedo iterar a través de elementos de QListWidget y trabajar con cada elemento?
- 2. PyQt4: ¿Cómo iterar todos los artículos en un QListWidget
- 3. ¿Cómo configuro el elemento seleccionado en un QListWidget?
- 4. ¿Foreach puede lanzar InvalidCastException?
- 5. ¿es posible iterar dos elementos simultáneamente usando foreach en jstl?
- 6. ¿Es posible comenzar a iterar desde un elemento que no sea el primero utilizando foreach?
- 7. Cómo mostrar iconos sin texto en QListWidget?
- 8. QListWidget o QListView con QItemDelegate?
- 9. ¿Se puede iterar sobre cada valor de enum posible usando un ciclo de Qt foreach?
- 10. ¿Cómo elimino un elemento en una lista, usando forEach?
- 11. Cómo iterar sobre una lista repitiendo cada elemento en Python
- 12. bucle foreach para iterar a través de dos listas
- 13. QListWidget ¿Agregar elementos personalizados en Qt?
- 14. ¿Está garantizada la definición por definición de foreach para iterar secuencialmente la colección sujeto en Scala?
- 15. eliminando eficazmente elemento desde dentro 'foreach'
- 16. PyQt4 - Eliminar Widget de artículo de QListWidget
- 17. Obtener el siguiente elemento en el bucle foreach
- 18. No se puede iterar Lista de Java en Scala
- 19. PyQT4: Arrastre y suelte archivos en QListWidget
- 20. comprobación para el último elemento en un foreach
- 21. Iniciar tareas en foreach Utiliza el valor del último elemento
- 22. jstl foreach omite un elemento en el último registro
- 23. LINQ + Foreach vs Foreach + Si
- 24. ¿Puedo almacenar algunos datos de usuario en cada elemento de un QListWidget?
- 25. Cómo iterar a través de dos colecciones de la misma longitud con un solo foreach
- 26. ¿Cómo puede foreach saber que se modificó la colección iterada?
- 27. Desestablecer elemento de la matriz dentro de un bucle foreach
- 28. knockout.js foreach repite el elemento td en la tabla, pero no el elemento tr
- 29. IEnumerable foreach, haga algo diferente para el último elemento
- 30. ¿Cómo sabe Java cómo iterar una matriz?
FYI las entidades son '<' y '>', _con los puntos y coma_. –
Tomalak, gracias, pero te perdiste 1 :) – 0xbaadf00d
@justanothercoder: Sólo te estoy probando; P –