Quiero usar la señal itemDoubleClicked(QTreeWidgetItem*,int)
en un programa Haskell estoy escribiendo donde yo estoy usando qtHaskell para la interfaz gráfica de usuario. Para conectar una función que tengo en otros lugares hecho lo siguiente:Cómo utilizar la señal de `itemDoubleClicked (QTreeWidgetItem *, int)` en qtHaskell
dummyWidget <- myQWidget
connectSlot object signal dummyWidget "customSlot()" $ f
Dónde object
es un poco de QWidget
y signal
es una cadena que representa la señal, por ejemplo, "triggered()"
y f
es la función Quiero ser llamado cuando el signale es enviar. La definición de connectSlot
en el API es:
class Qcs x where
connectSlot :: QObject a -> String -> QObject b -> String -> x -> IO()
donde las instancias de Qcs
son:
Qcs()
Qcs (QObject c -> String -> IO())
Qcs (QObject c -> Object d -> IO())
Qcs (QObject c -> Bool -> IO())
Qcs (QObject c -> Int -> IO())
Qcs (QObject c -> IO())
Qcs (QObject c -> OpenGLVersionFlag -> IO())
Los primeros argumentos pasados se supone que es el QObject
de los cuales estoy usando una señal. Como se puede ver, no hay ningún caso en el que f
, la función de conectarse a la señal, puede tener otros dos argumentos para recibir la QWidget
y el entero enviar por la señal. ¿Hay alguna manera de conectar esa señal a una función personalizada?
qtHaskell es más o menos sin utilizar. No conozco aplicaciones de ejemplo para eso. ¿Por qué no usar gtk2hs o wxHaskell? Hay mucha más documentación. –
Bueno, me gusta Qt, y alguien tiene que ser el primero, supongo. Hasta el punto en que quería usar esa señal, funcionó bastante bien. Si no hay solución, supongo que usaré gtk2hs si tiene que ser así. – nano
@Don Stewart, de hecho si alguien que intente usar qtHaskell se le recomienda cambiar a gtk2hs, qtHaskell va a permanecer sin usar :) @nano, le sugiero que le pregunte al autor, quizás él podrá ayudarlo. –