yılında `(QTreeWidgetItem *, int) itemDoubleClicked` sinyalini nasıl kullanılır ben GUI için qtHaskellkullanıyorum nerede yazıyorum bir Haskell programında itemDoubleClicked(QTreeWidgetItem*,int)
sinyalini kullanmak istiyorum. object
bazı QWidget
ve signal
olduğunuqtHaskell
dummyWidget <- myQWidget
connectSlot object signal dummyWidget "customSlot()" $ f
sinyalini temsil eden bir dize, örneğin geçerli: Aşağıdaki Yaptığım diğer yerlerde var bir işlevi bağlamak için "triggered()"
ve f
, imza gönderildiğinde çağrılmak istediğim işlevdir. API connectSlot
tanımıdır: Qcs
örnekleri olan
class Qcs x where
connectSlot :: QObject a -> String -> QObject b -> String -> x -> IO()
: geçti
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())
ilk Argümanlar Bir sinyal kullanıyorum hangi QObject
olması gerekiyordu. Gördüğünüz gibi, f
'un, sinyale bağlanma fonksiyonunun, QWidget
ve sinyal ile gönderilen tam sayıyı elde etmek için iki argümanı olabileceği bir örnek yoktur. Yine de bu sinyali özel bir işleve bağlamanın bir yolu var mı?
qtHaskell oldukça fazla kullanılmamış. Bunun için örnek uygulamalar bilmiyorum. Neden gtk2hs veya wxHaskell kullanmıyorsunuz - çok daha fazla dokümantasyon var. –
Eh, Qt'yi severim, ve birisinin ilk sanırım olması gerekiyor. Bu sinyali kullanmak istediğim noktaya kadar oldukça iyi çalıştı. Eğer bir çözüm yoksa, olması gerekiyorsa gtk2hs kullanacağımı varsayalım. – nano
@Don Stewart, gerçekten qtHaskell kullanmayı deneyen herkesin gtk2hs ye geçmesi tavsiye edilirse, qtHaskell kullanılmayacaksa :) @ nano, yazarına sormanızı öneririm, belki de yardım edebilir. –