2012-04-30 19 views
9

Wygląda na to, że qthaskell nie jest aktywnie rozwijany/jest opuszczony.Używanie QTQuick z haskell

Czy obsługuje QtQuick?

Czy istnieją plany/jakiekolwiek zmiany we wspieraniu qt 5?

Czy ktoś używa qt z haskell w ogóle, czy jest gtk2hs bieżącym ulubionym?

Odpowiedz

12

QtHaskell obsługuje Qt 4.6, a więc QtQuick, co najmniej wersję wczesnej wersji lighthouse. Zauważ, że ta wersja QtQuick jest zupełnie inna niż obecna wersja QtQuick; większość elementów i właściwości ma zupełnie inne nazwy.

Obsługa GTK dla Haskell jest aktywnie utrzymywana. Jak widzieliście sami, tego samego nie można powiedzieć o Qt. Jednym z głównych powodów jest to, że GHC nie może sam importować obcego kodu C++; musisz wygenerować kod C wrappera, który jest następnie wywoływany przez GHC, i nie ma ogólnej metody zawijania kodu C++ jako C, więc w tym przypadku należy opracować nowe narzędzie dla C++. Tak więc "aktualnymi faworytami" bibliotek GUI w Haskell są GTK i WxWidgets.

Byłoby bardzo interesujące używać Qt w Haskell, na przykład, ponieważ system gniazd Qt mógłby być używany do łączenia się z bibliotekami FRP (funkcjonalne programowanie reaktywne), a ponieważ Qt ma interfejs, który jest bardzo przejrzysty i wspiera niezmienne struktury danych.

+1

Ostatnie wydanie qthaskell było sep.2010. a obecna qt to 4,8. Wygląda na to, że nie mam innego wyjścia, jak tylko iść z gtk. :( –

+0

@VagifVerdi: wxHaskell może również być opcją.Jest bardzo aktywny w rozwoju i jest całkiem w pełni funkcjonalny – amindfv

+0

Przez "system gniazd Qt" masz na myśli "gniazda i sygnały" Qt? Używanie ich dla FRP, być może z Haskellem , jest pierwszą rzeczą, o której pomyślałem, kiedy o nich usłyszałem, ale jestem niedoświadczony zarówno w Qt, jak iw Haskell, więc cieszę się, że ktoś inny miał ten sam pomysł, jeśli w rzeczywistości jest to ten sam pomysł. Zaczyna pracować nad tym! – kini

5

Tu jest rzeczywiście w użyciu biblioteki QT Szybki od Haskell, choć nie (jeszcze) spróbuj to sam:

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

To jest utrzymywana od teraz, najnowszym wydaniem jest wrzesień 2012. Jest także program demonstracyjny opublikowany na hackage.

Ta wersja nie obsługuje jeszcze emitujące sygnały Qt z kodu Haskell, istnieje jednak widelec, który ma do zaoferowania tej funkcji: https://github.com/travitch/hsqml

Ale widelec wydaje mniej niż utrzymywane oryginalnym opakowaniu, w Ponadto autor oryginalnego pakietu stwierdził, że zamierza dodać tę funkcję w przyszłości (a także wspierać Qt5, kiedy będzie dostępna).

AKTUALIZACJA teraz z przyjemnością korzystam z tej biblioteki, mimo że nie ma zbyt dużej przyczepności, działa doskonale dla mnie.

+0

Awesome! dzięki. Wygląda bardzo obiecująco. –