Я получил ответ от Владимира Кириченко из списка рассылки QtJambi, в котором все прояснилось.
По сути, необходимо реализовать метод method_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(...)