使用QTQuick和haskell

时间:2012-04-30 21:52:09

标签: qt haskell

在我看来,qthaskell没有被积极开发/被遗弃。

它支持QtQuick吗?

是否有支持qt 5的计划/任何发展?

有没有人使用qt和haskell,或者gtk2hs是当前最喜欢的?

2 个答案:

答案 0 :(得分:12)

QtHaskell支持Qt 4.6,因此支持QtQuick,至少是早期的灯塔构建版本。请注意,此版本的QtQuick与当前的QtQuick版本完全不同;大多数元素和属性都有完全不同的名称。

正在积极维护GTK对Haskell的支持。正如你自己所看到的,关于Qt也是如此。其中一个主要原因是GHC无法自行导入外部C ++代码;你需要生成随后由GHC调用的包装器C代码,并且没有将C ++代码包装为C的通用方法,因此在这种情况下必须为C ++开发一个新工具。因此,Haskell中GUI库的“当前最爱”是GTK和WxWidgets。

在Haskell中使用Qt会非常有趣,例如因为Qt套接字系统可用于链接到FRP(功能反应式编程)库,并且因为Qt具有非常引用透明且支持不可变的接口数据结构。

答案 1 :(得分:6)

实际上有一个库可以使用来自Haskell的Qt Quick,虽然我还没有(还)自己尝试一下:

http://hackage.haskell.org/package/hsqml-0.1.1

http://www.gekkou.co.uk/software/hsqml/

http://www.haskell.org/pipermail/haskell-cafe/2012-September/103350.html

目前维护,最新版本将于2012年9月发布。还有一个关于hackage的演示程序。

该版本尚不支持从Haskell代码发出Qt信号,但是有一个fork应该提供该功能: https://github.com/travitch/hsqml

但是fork看起来比原始包更少维护,另外原始包的作者声明他打算将来添加该功能(并且当它可用时也支持Qt5)。

更新现在很高兴使用这个库,虽然没有太大的吸引力,但它对我来说很有用。