注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 [业内传闻]今天,7月25日..
 帮助

用Ruby来开发GUI程序


2007-04-26 11:38:27
 标签:Ruby GUI TK ACTIVETCL/TK   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blackanger.blog.51cto.com/140924/24924
无意中发现了Ruby写的GUI黑白棋游戏(让我想起了当年的文曲星)!
把脚本下载以后,发现没有tk84.dll,网上找资料,发现需要安装叫ActiveTcl的组件。
可以在下面地址下载:
安装ActiveTcl后,可以在bin目录下找到tk84.dll文件,把这个文件复制到Rubylib目录下。然后就OK了。
然后又找了点资料来系统的说明下RubyGUI程序开发:
1.       首先我们需要一个TK文件。
下载地址在上面给出的链接,比较郁闷的是PR2EDTK是随Ruby一起发行的,可是为什么我需要另外安装呢?谁给个解释?
TCL全称是tool command language,也就是工具命令语言.他是一种解释型脚本语言.弱类型,大小写敏感.一般在linux下应用较多,不过在windows下面也有移值版本. TCL/TK的官方编辑环境是activestate activetcl。在Proggramming Ruby第二版的十九章也介绍了TK,但是没有比较全面的Ruby/TK文档。
2.   然后我们就可以编写一些简单的应用来说明了:
下面是两个小例子:
1.
require ‘tk’
TkLabel.new{text ‘Hello,world’;pack}
Tk.mainloop
 
2.
require 'tk'
TkButton.new do
text "EXIT"
command { exit }
pack('side'=>'left', 'padx'=>10, 'pady'=>10)
end
Tk.mainloop
感觉还挺好,不知道编写复杂的怎么样?主要是没有文档,比较麻烦。
3.
下面这段程序加入了事件处理:
require 'tk'
packing = { 'padx'=>5, 'pady'=>5, 'side' => 'left' }
checked = TkVariable.new
def checked.status
value == "1" ? "Yes" : "No"
end
status = TkLabel.new do
text checked.status
pack(packing)
end
TkCheckButton.new do
variable checked
pack(packing)
end
TkButton.new do
text "Show status"
command { status.text(checked.status) }
pack(packing)
end
Tk.mainloop
就以上这些了。。。。。。作为一个了解。让更多的人知道Ruby应用的范围。
想了解更多的Ruby TK用法参考<Programming Ruby 2ED>

本文出自 “{ :Alex Space => " Ruby Notes " }” 博客,请务必保留此出处http://blackanger.blog.51cto.com/140924/24924



上一篇 添加个人相册  下一篇 Ruby OLE接口编程



    文章评论
 
2007-04-26 21:48:45
抢了个沙发呀。。不错。。很经典的游戏。

2007-04-27 09:55:36
终于看到Ruby写的代码了,好像Passcal的语法。。。

2007-04-27 10:37:47
Pascal吧。。。
Ruby的语法和Eiffel相似。。。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: