Martin DeMello wrote: > I have both qtruby and qt4-qtruby installed (via the gentoo ebuilds), > and am trying to run the examples from qt4-qtruby-1.4.7. However, most > of them are failing with "Unresolved constructor call". Here's a > minimal failure case: > > irb(main):001:0> require 'Qt' > => true > irb(main):002:0> app = Qt::Application.new([]) > => # > irb(main):003:0> button = Qt::PushButton.new("hello world") > ArgumentError: unresolved constructor call Qt::PushButton > > from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1367:in `initialize' > from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1367:in `call' > from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1367:in `try_initialize' > from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1366:in `catch' > from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1366:in `try_initialize' > from (irb):3:in `new' > from (irb):3 It's because you're picking up the Qt3 version of QtRuby which doesn't have that constructor. If you install the Qt3 version after the Qt4 version the default when you do a require 'Qt' will be the Qt3 one. If you install the Qt4 version of QtRuby after the Qt3 one, then the default is Qt4 instead. Maybe use require 'Qt3' or require 'Qt4' to make sure you get the right one. In the Qt4 version 'qtruby.rb' was renamed 'qtruby4.rb', and so it is easy to see from the trace above what went wrong. -- Richard