[pyar] Llenar combobox QT (indice del combo = ID tabla)

Ramiro Algozino algozino en gmail.com
Lun Jul 11 15:01:50 ART 2011


El día 11 de julio de 2011 14:43, Ramiro Algozino <algozino en gmail.com> escribió:
> El día 11 de julio de 2011 13:41, Wuelfhis Asuaje
> <wasuaje en hotmail.com> escribió:
>>> > Despues de googlear hasta sangrar no pude hayar una manera efectiva de
>>> > llenar un combobox desde una tabla, bueno llenarlo es una tonteria, la
>>> > cuestion esta en que necesito que que el index del valor de cada linea
>>> > del
>>> > combo sea el id de la tabla esto es lo que no he podido hacer.
>
>> Si bueno es lo que vengo haciendo pero con el borrar y el pasar del tiempo
>> en la tablas no quedan ordenadas 0,1,2,3, sino que mas bien 2,3,5,6,9..n
>> me interesa mas que agregar el valor que el indice del combo sea el ID de la
>> TABLA.
>
> Hola!
>
> Se me ocurren dos cosas,
>
> 1° Si el id es siempre continuo en el resultado de la query, podés
> probar con la cláusula SQL "ORDER BY", por ejemplo:
>
> SELECT id, col1, col2, col3 FROM MiTabla ORDER BY id
>
> Ahi te va a arrojar el resultado ordenado por id y podés mapearlo con
> el índice del combo.
>
> 2° Usa un dict donde guardes {valor: id} que te devuelve la consulta y
> después con el método currentText() del combobox podés obtener el id:
>
>
> Espero que te sirva de algo..
>
>
> Saludos!
>
> --
> Ramiro Algozino
> http://ramiroalgozino.com.ar/
>

Me quedé con la pica porque me parecía que había algo más elegante..
leyendo las docs del método addItem tenés esto:

void QComboBox::addItem ( const QIcon & icon, const QString & text,
const QVariant & userData = QVariant() )
Adds an item to the combobox with the given icon and text, and
containing the specified userData (stored in the Qt::UserRole). The
item is appended to the list of existing items.


Es decir que le podés guardar data en el ítem si querés.. después la
obtenes con itemData().

Acá hay uno que preguntaba algo que te puede servir:
http://www.qtcentre.org/threads/8708-Retrieve-userData-of-a-comboBox-item

-- 
Ramiro Algozino
http://ramiroalgozino.com.ar/



More information about the pyar mailing list