[Kde-bindings] Understanding QtRuby
Jonathan Gardner
jgardner at jonathangardner.net
Mon Apr 7 21:40:14 UTC 2008
I am no pro at Ruby. I do understand Python really well, including it's
C interface.
I am attempting to build a package in Lisp that will allow me to connect
with Qt, possibly using the Smoke library. So I am poking at the QtRuby
code to get started.
However, I am completely befuddled by the most basic of statements. I am
sure that a few pointers to the documentation would help me get on the
right path.
Consider the example shown at
http://developer.kde.org/language-bindings/ruby/index.html
#!/usr/bin/ruby -w
require 'Qt'
I believe that "require 'Qt'" loads the Qt.rb file, which simply loads the qtruby.qt file.
a = Qt::Application.new(ARGV)
This, I believe, is a simply constructor for the Qt::Application defined at line 182 in qtruby.rb. There is no C magic yet.
hello = Qt::PushButton.new("Hello World!", nil)
The PushButton class doesn't exist in qtruby.qt. I can't tell how this is getting dispatched.
hello.resize(100, 30)
Pending an understanding of what PushButton is.
a.mainWidget = hello
I can't tell how the mainWidget assignment is dispatched either.
hello.show()
a.exec()
I believe the exec method here is defined at line 183.
def exec
method_missing(:exec)
self.dispose
Qt::Internal.application_terminated = true
end
I am not sure what this is doing. What is method_missing? where is dispose defined?
Although I can find the Qt::Internal module, I don't see how application_terminated is defined.
I am sorry for being such a newbie when it comes to Ruby, but I think if I can get a few pointers I can get underway.
More information about the Kde-bindings
mailing list