vBulletin:QtRuby phát ra không làm việc
Darwin * - * s-MacBook-Pro.local 11.4.2 Darwin Kernel Version 11.4.2: Thu 23 tháng 8 16:25:48 PDT 2012; root: xnu-1699.32.7 ~ 1/RELEASE_X86_64 x86_64
của Ruby:
ruby 2.0.0p0 (2013/02/24 sửa đổi 39.474) [x86_64-darwin11.4.2] (cài đặt bởi RVM)
Qt:
qt: ổn định 4.8.4 (bot tled), HEAD
Mã:
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
Output:
connecting signal and slot
sending signal
Output với Qt.debug_level = Qt :: DebugLevel :: cao
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
có vẻ như phát ra không làm gì cả. Tôi cũng đã thử cài đặt lại qt và qtbindings, nhưng vấn đề vẫn tồn tại. Và tôi cũng thử PyQt với tín hiệu và khe cắm trên cùng một máy, nó hoạt động như một sự quyến rũ.
Có ai có bất kỳ ý tưởng nào về điều này không? Đó có phải là một lỗi của qtbindings ruby hoặc tôi chỉ làm điều gì sai?
Dường như lỗi của ruby ruby-2.0.0-p0, qtbindings không hoạt động tốt với phiên bản này. Tôi đã thử ruby-1.9.3-p392 trên cùng một máy, nó hoạt động. – user2201409
hoạt động cho tôi với qtbindings 4.8.5.2 và ruby 2.0.0p247 (2013-06-27 phiên bản 41674) [i686-linux] –
Mã của bạn hoạt động trên Ubuntu 15.10 với qtbindings 4.8.6. – bogl