** 开始!**
qtruby 需要 ruby 与 ruby-qt4 两个包,其中 ruby 默认是安装了的。ruby-qt4 安装方法:
zypper in ruby-qt4
好了,我们来 hello SuSE 新建一个 hello.rb 文件
require 'Qt'
app = Qt::Application.new(ARGV)
label = Qt::Label.new("Hello SuSE!",nil)
label.resize(150,30)
label.show()
app.exec
保存之后
ruby hello.rb
看看结果!
** 逐句解释:**
* require ‘Qt’ 读取了一个名叫 Qt 的附加库,使用这个库我们就可以得到图形界面了!
* app = Qt::Application.new(ARGV) 我们新建了一个名为 app 的 qt 程序对象
* label = Qt::Label.new(“Hello SuSE”,nil) 我们新建了一个名为 label 的 Label(标签) 对象。这个对象一个参数是 “Hello SuSE”, 这是他将要显示的字符串(文字)。另一个参数是 nil ,这是 label 的父亲。而 nil 在 ruby 中是空的意思。
* label.resize(150,30) 我们来改变一下 label 的大小。在这句话前面加个‘#’试试!
* label.show() 带着魔力的一句话,label 出现了!
* app.exec 把控制权交给 qt 当我们按下关闭按钮时,返回。
** 我们学到了什么 / 与 c++ 的对比 **
* 首先,我们看到 ruby 没有以分号来表明句子结束,所以请按回车。
* 骗你呢,你想和 c++ 里加分号是可以的。这是 ruby 的哲学: ruby 是一门有趣的语言, 有趣的一个体现就是由你的喜好写程序。
* 在一句话前面加 # 这句话就没用了!这就是注释!请不要偷懒,注释可以帮你理解程序!
* app.exec 后面没有括号,不止这句话,试试其他语句,比如”label.resize(150,30) "。
* ruby 中文参考 kuqin.com/rubycndocument/man/index.html
* ruby 英文参考 ruby-doc.org/stdlib-2.1.1/libdoc/socket/rdoc/index.html
* kde-qtruby 参考 techbase.kde.org/Development/Languages/Ruby