用Ruby来开发GUI程序

本文介绍了使用Ruby进行GUI程序开发的过程,特别是针对一个GUI黑白棋游戏的安装配置。文中详细记录了因缺少tk84.dll文件而需要额外安装ActiveTcl组件的经历,并提供了具体的步骤。此外,还给出了几个使用Tk库进行Ruby GUI编程的基础示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无意中发现了Ruby写的GUI黑白棋游戏(让我想起了当年的文曲星)!
把脚本下载以后,发现没有tk84.dll,网上找资料,发现需要安装叫ActiveTcl的组件。
可以在下面地址下载:
安装ActiveTcl后,可以在bin目录下找到tk84.dll文件,把这个文件复制到Rubylib目录下。然后就OK了。
然后又找了点资料来系统的说明下RubyGUI程序开发:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值