我想用在哈斯克尔程序itemDoubleClicked(QTreeWidgetItem*,int)
信号我写,我现在用qtHaskell的GUI。要连接的功能我在做其他地方执行以下操作:如何使用`itemDoubleClicked(QTreeWidgetItem *,INT)`信号qtHaskell
dummyWidget <- myQWidget
connectSlot object signal dummyWidget "customSlot()" $ f
哪里object
一些QWidget
和signal
是代表信号的字符串,如"triggered()"
和f
是我希望在发送signale时调用的函数。 API中的的connectSlot
定义是:
class Qcs x where
connectSlot :: QObject a -> String -> QObject b -> String -> x -> IO()
其中Qcs
的实例是:
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())
传递的第一参数被认为是在QObject
其中我使用的信号。正如你所看到的,没有例子f
,连接到信号的功能,可以有两个进一步的参数来接收QWidget
和信号发送的整数。有没有办法将该信号连接到自定义功能?
qtHaskell几乎没有使用。我知道没有示例应用程序。为什么不使用gtk2hs或wxHaskell - 有更多的文档。 – 2010-06-07 17:06:18
嗯,我喜欢Qt,而且有人必须是我想的第一个。直到我想使用这个信号的时候,它运行得非常好。如果没有解决方案,我想如果必须的话,我会使用gtk2hs。 – nano 2010-06-07 17:10:42
@唐斯图尔特,的确,如果任何人试图使用qtHaskell的人建议切换到gtk2hs,qtHaskell将保持未使用:) @nano,我建议你问作者,也许他能够提供帮助。 – 2010-06-10 09:56:58