Java 从JRuby设置QtJambi连接
我一直在使用QtJambi和JRuby设置Qt图形用户界面。到目前为止,一切进展顺利。我已经准备好开始建立连接,但是,jruby中似乎看不到许多信号。例如,如果我打印出QPushButton的方法,我看不到任何名为“clicked”的方法可供我建立连接 我发现了这个关于QtJambi和Jython的链接,这可能有关联,但我不认为这实际上是我的问题Java 从JRuby设置QtJambi连接,java,qt,reflection,jruby,Java,Qt,Reflection,Jruby,我一直在使用QtJambi和JRuby设置Qt图形用户界面。到目前为止,一切进展顺利。我已经准备好开始建立连接,但是,jruby中似乎看不到许多信号。例如,如果我打印出QPushButton的方法,我看不到任何名为“clicked”的方法可供我建立连接 我发现了这个关于QtJambi和Jython的链接,这可能有关联,但我不认为这实际上是我的问题 我如何使我的Qt对象的这些信号对JRuby可见以连接到 我从QtJambi邮件列表中得到了Vladimir Kirichenko的答复,这澄清了问题
我如何使我的Qt对象的这些信号对JRuby可见以连接到 我从QtJambi邮件列表中得到了Vladimir Kirichenko的答复,这澄清了问题 基本上,必须实现
method\u missing
方法,当我调用methods
时,可以看到信号
class com.trolltech.qt.gui::QWidget
def method_missing(sym)
if sym.id2name.start_with?("signal_")
name = sym.id2name[7, sym.id2name.length]
f = self.getClass.fields.select {|f| f.name == name }.first
f.get(self)
else
nil
end
end
end
然后我就可以做一些像
$object_action.signal_changed.connect(...)
你能展示一些代码示例吗?