платформы:QtRuby испускают не работает
Дарвин * - * s-MacBook-Pro.local 11.4.2 Darwin Kernel Version 11.4.2: Чт 23 августа 16:25:48 PDT 2012; корень: XNU-1699.32.7 ~ 1/RELEASE_X86_64 x86_64
Рубин:
рубинового 2.0.0p0 (2013-02-24 редакция 39474) [x86_64-darwin11.4.2] (установлен от РВМ)
Qt:
кварты: стабильный 4.8.4 (СЭП щество), HEAD
Код:
require 'Qt'
class Foo < Qt::Object
signals :my_signal #also tried 'my_signal()'
slots 'my_slot()'
def initialize(parent = nil)
super(parent)
puts "connecting signal and slot"
Qt::Object.connect(self, SIGNAL('my_signal()'), self, SLOT('my_slot()'))
# also tried => connect(self, SIGNAL('my_signal()'), self, SLOT('my_slot()'))
end
def emit_my_signal
puts "sending signal"
emit my_signal
end
def my_slot
puts "received message from signal"
end
end
o = Foo.new
o.emit_my_signal
Выход:
connecting signal and slot
sending signal
Выход с Qt.debug_level = Qt :: DebugLevel :: High
Munged method names:
QObject$
QObject?
QObject#
candidate list:
QObject* QObject::QObject(QObject*) (smoke: 0 index: 3804)
matching => smoke: 0 index: 3804
QObject* (u) score: 2
match => smoke: 0 index: 3804 score: 2 chosen: 3804
setCurrentMethod(smokeList index: 0, meth index: 3804)
connecting signal and slot
Searching for QObject#connect
Munged method names:
connect#$#$
candidate list:
static bool QObject::connect(const QObject*, const char*, const QObject*, const char*) (smoke: 0 index: 3850)
matching => smoke: 0 index: 3850
const QObject* (QObject) score: 3
const char* (s) score: 1
const QObject* (QObject) score: 3
const char* (s) score: 1
match => smoke: 0 index: 3850 score: 8 chosen: 3850
setCurrentMethod(smokeList index: 0, meth index: 3850)
sending signal
похоже испускать не делает ничего. Я также попытался переустановить qt и qtbindings, но проблема все еще существует. А также я попробовал PyQt с сигналом и слотом на одной машине, он работает как шарм.
Есть ли у кого-нибудь идеи об этом? Является ли это ошибкой ruby qtbindings или я просто что-то не так?
Кажется, ошибка для ruby ruby-2.0.0-p0, qtbindings не очень хорошо работает с этой версией. Я попробовал ruby-1.9.3-p392 на той же машине, он работает. – user2201409
работает для меня с qtbindings 4.8.5.2 и ruby 2.0.0p247 (исправление 2013-06-27 41674) [i686-linux] –
Ваш код работает с Ubuntu 15.10 с qtbindings 4.8.6. – bogl