[pyar] Problema interesante: el anti-string

Alejandro Santos listas en alejolp.com
Dom Ago 8 23:34:25 ART 2010


2010/8/8 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On Sunday 08 August 2010 22:22:15 Alejandro Santos wrote:
>>
>> Por cierto, muy buen problema. De donde salió?
>
> De tratar de ordenar un QTreeWidget
> (http://doc.trolltech.com/4.6/qtreewidget.html) donde el primer nivel son
> feeds (orden alfabético creciente) y el segundo nivel son posts (orden
> cronológico decreciente).
>
> Como el QTreeWidget se ordena por columnas, la solución que se me ocurrió fue
> agregar otra columna (oculta) con un "key" que fuera, en el caso de los posts,
> la fecha, y en el caso de los feeds el "anti-string" del nombre.

Se me ocurre una alternativa no tan rebuscada como el Anti-String:
hacer un QTreeWidgetItem propio con el operator <() redefinido. [1]

La ordenacion de los items en un QTreeView se hace en el método
QTreeModel::itemLessThan, [2] pero no es virtual asi que no se puede
redefinir.

Sería mucho más practico tener una clase QSortStrategy o similar en
vez del enum SortOrder. De cualquier forma, el Anti String es mucho
más interesante, por más sobre-ingenieria que sea hacerlo :)

[1] http://www.koders.com/cpp/fid5693B7EB91C08539ED01A5951357E75900CA8237.aspx?s=cdef%3atree+mdef%3ainsert#L142
[2] http://www.koders.com/cpp/fid0558BCA8C094915AEAC4FCA8243AB7FD2310B6B6.aspx?s=cdef%3Atree+mdef%3Ainsert#L579

-- 
Alejandro Santos
http://www.alejandrosantos.com.ar



More information about the pyar mailing list