Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JRuby设置QtJambi连接_Java_Qt_Reflection_Jruby - Fatal编程技术网

Java 从JRuby设置QtJambi连接

Java 从JRuby设置QtJambi连接,java,qt,reflection,jruby,Java,Qt,Reflection,Jruby,我一直在使用QtJambi和JRuby设置Qt图形用户界面。到目前为止,一切进展顺利。我已经准备好开始建立连接,但是,jruby中似乎看不到许多信号。例如,如果我打印出QPushButton的方法,我看不到任何名为“clicked”的方法可供我建立连接 我发现了这个关于QtJambi和Jython的链接,这可能有关联,但我不认为这实际上是我的问题 我如何使我的Qt对象的这些信号对JRuby可见以连接到 我从QtJambi邮件列表中得到了Vladimir Kirichenko的答复,这澄清了问题

我一直在使用QtJambi和JRuby设置Qt图形用户界面。到目前为止,一切进展顺利。我已经准备好开始建立连接,但是,jruby中似乎看不到许多信号。例如,如果我打印出QPushButton的方法,我看不到任何名为“clicked”的方法可供我建立连接

我发现了这个关于QtJambi和Jython的链接,这可能有关联,但我不认为这实际上是我的问题


我如何使我的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(...)

你能展示一些代码示例吗?