Foros del Web » Programando para Internet » Python »

ordenar tablewidget por columna?

Estas en el tema de ordenar tablewidget por columna? en el foro de Python en Foros del Web. Hola, mi problema es que quiero ordenar un tablewidget por una columna donde en cada fila este valor sera un entero y quiero que me ...
  #1 (permalink)  
Antiguo 07/03/2011, 12:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
ordenar tablewidget por columna?

Hola, mi problema es que quiero ordenar un tablewidget por una columna donde en cada fila este valor sera un entero y quiero que me muestre las filas ordenadas de mayor a menor por este valor, quisiera saber saber si puede hacer tambien siendo el valor un str
  #2 (permalink)  
Antiguo 09/03/2011, 20:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ordenar tablewidget por columna?

¿tablewidget? ¿qué biblioteca gráfica estás usando? ¿qué has intentado hasta ahora?


Saludos.
  #3 (permalink)  
Antiguo 15/03/2011, 10:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ordenar tablewidget por columna?

Cita:
Iniciado por AlvaroG Ver Mensaje
¿tablewidget? ¿qué biblioteca gráfica estás usando? ¿qué has intentado hasta ahora?


Saludos.
Estoy usando pyqt4
  #4 (permalink)  
Antiguo 15/03/2011, 22:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ordenar tablewidget por columna?

Con PyQt te recomiendo ir siempre al manual de Qt para buscar la función que necesites:
http://doc.qt.nokia.com/latest/qtabl...html#sortItems

Y luego al manual de PyQt para ver cómo se escribe exactamente (en caso de que tengas dudas):
http://www.riverbankcomputing.co.uk/...html#sortItems

Yo prefiero hacerlo así porque hay mucha más documentación sobre Qt en general que sobre PyQt en específico.

De todas formas, deberías lograrlo haciendo algo así:

Código Python:
Ver original
  1. from pyqt4 import Qt, QtGui
  2. ...
  3. mi_tabla = QtGui.QTableWidget()
  4. ...
  5. mi_tabla.sortItems(2, Qt.AscendingOrder)

Con eso ordenas por la columna 2 (no recuerdo si el numerado de columnas empieza en cero o en uno) y en orden ascendente. Usa DescendingOrder para ordenar de forma descendente.


Saludos.
  #5 (permalink)  
Antiguo 18/03/2011, 09:10
 
Fecha de Ingreso: marzo-2010
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ordenar tablewidget por columna?

Si eso ya lo sabia, que asi podia ordenar, pero el problemas es que en el tablewidget solo puedo mostrar datos que sean cadenas y yo lo que quiero es que se me ordene por el dato pero como numerico, por ejemplo:

si en una fila de esa columna por la que ordeno tengo '99' y en ora fila tengo "445" en el ordenamiento me sale primero "99" y despues "445" porque el '9' es mayor que el '4'

Etiquetas: columna
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.