[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