2
im使用qtbindings爲紅寶石(https://github.com/ryanmelt/qtbindings) ,我將發射用散列PARAM的信號...QT Ruby綁定信號時隙與散列PARAM
喜歡的東西這樣的:
require 'Qt'
class Foo < Qt::Object
signals 'my_signal(Hash)'
slots 'my_slot(Hash)'
def initialize(parent = nil)
super(parent)
connect(self, SIGNAL('my_signal(Hash)'), self, SLOT('my_slot(Hash)'))
end
def emit_my_signal
emit my_signal({:foo => :bar})
end
def my_slot(hash)
puts hash.inspect
end
end
o = Foo.new
o.emit_my_signal
如果我運行此腳本,我得到的錯誤:Cannot handle 'Hash' as slot argument (ArgumentError).
如果我使用的int
代替Hash
一切都很好。
有一種方法可以做到這一點??怎麼樣?
謝謝。
我檢查還HTTP:// techbase.kde.org/Development/Languages/Ruby#Emitting_Ruby_Classes但似乎不適合我... – Pioz
理查德戴爾建議我使用const QMap&'。 –
Pioz