[Kde-devel-es] QTreeView

Ignacio Cárdenas iakynet at wanadoo.es
Sun Sep 11 11:25:01 CEST 2005


> Buenas a todos.

Hola!

> Estoy intentando crear un programa con QT4, y en él tengo una vista en
> arbol, que se va a ir creando por parte del usuario. Me he ido a la
> ayuda para ir viendo como crear los distintos elementos, pero no veo
> ninguna función que al llamarla te cree un nuevo elemento, por lo
> visto para crearlos, se basa en algo llamado modelos.
>
> ¿Alguien podría explicarme a que se refiere con modelos?. ¿Y algún
> ejemplo de como crear una estructura en arbol usandolos?.

Lo de los modelos se basa en la idea de separar el código de una aplicación 
según la funcionalidad que tenga ese código. Asi, el patrón vista/modelo (que 
es el que usa el QTreeView) consiste en separar, por un lado, el código que se 
encarga de dibujar la vista en pantalla, y por otro el código que implementa 
el contenido de ese widget, es decir, el modelo. Todo esto está orientado a 
facilitar la programación de un código más limpio y legible.

De este modo, la clase QTreeView provee un método llamado "model()" que sirve 
para obtener el modelo del árbol en forma de QAbstractItemModel. Este modelo 
lo usas para añadir y eliminar los elementos que formarán parte de la vista 
del árbol. Una vez terminas, utilizas el método "setModel(QAbstractItemModel 
* model )" para que en la vista se actualice el contenido del árbol (o tal 
vez esto no sea necesario, no estoy seguro, pero si lo necesitarás cuando 
hagas un modelo nuevo y lo asignes al árbol por primera vez).

El caso es que en este enlace podrás ver una explicación más detallada del 
patrón modelo/vista:

http://doc.trolltech.com/4.0/model-view-programming.html

y en este otro podrás ver un ejemplo aplicado a un árbol:

http://doc.trolltech.com/4.0/itemviews-simpletreemodel.html

Espero que te sea de ayuda.

Un saludo,
Ignacio.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-devel-es/attachments/20050911/840cc73c/attachment.pgp


More information about the Kde-devel-es mailing list