[Kde-devel-es] A QTreeView desde QListView

Eloy Cuadra ecuadra at eloihr.net
Tue Sep 1 14:04:10 CEST 2009


Hola,

El martes, 1 de septiembre de 2009, Eloy Cuadra escribió:
> Como estas señales no distinguen entre los distintos botones, para saber
> cuál se ha pulsado debes usar QApplication::mouseButtons() en el slot que
> responda a las anteriores señales.

Bueno, esto no es correcto, ya que QApplication::mouseButtons() siempre te 
devolverá 0 si lo usas en los slots conectados a las señales itemClicked e 
itemDoubleClicked.

Para solucionar este pequeño problema debes conectar además la señal 
itemPressed a otro slot donde captures el estado de los botones del ratón con 
QApplication::mouseButtons() y mantengas en caché el QTreeWidgetItem y la 
columna. Posteriormente, en el slot donde respondas a itemClicked, comprueba 
que el QTreeWidgetItem y la columna se corresponden con los valores que 
mantenías en caché antes de usar el estado capturado de los botones del ratón.

También se pueden capturar y usar del mismo modo los modificadores del 
teclado.

Esto funciona correctamente (lo uso en una aplicación). Aún así, sigo teniendo 
problemas para distinguir entre itemClicked e itemDoubleClicked, ya que todo 
doble clic implica un clic. ¿Alguna sugerencia?

Un saludo,
-- 
Eloy Cuadra


More information about the Kde-devel-es mailing list