以前写过一个简单的ruby tk程序,发现既难用,速度又慢,就再也没去看过了。现在由于想在windows开发一个桌面程序,正愁到底该用什么语言来写,dephi、VB、C#、JAVA这些又浮上心头,最后居然有人推荐ruby tk,于是自己重新想起了这个,决定再花点时间尝试下,看看,这个东西到底能不能用。
程序很简单,不打算仔细讲了,直接帖出来,使用的是ruby2.0。
# coding: gbk
require 'tk'
msg = '用户登陆'
root = TkRoot.new {
title msg
minsize(400,400)
}
TkLabel.new(root) do
text msg
foreground 'red'
font 'arial 20 bold'
pack { padx 15; pady 15; side 'left'}
end
user=TkVariable.new
password=TkVariable.new
TkLabel.new(root) do
text '用户名'
pack { padx 15; pady 15; side 'left'}
place('x'=>80,'y'=>50)
end
TkEntry.new(root){
text user
pack('padx'=>10, 'pady'=>10)
place('height' => 25,'width' => 150,'x'=>130,'y'=>50)
font 'arial 12 normal'
}
TkLabel.new(root) do
text '密码'
pack { padx 15; pady 15; side 'left'}
place('x'=>80,'y'=>100)
font 'arial 12 normal'
end
TkEntry.new(root){
text password
show '*'
pack
place('height' => 25,'width' => 150,'x'=>130,'y'=>100)
}
TkButton.new do
text "确定"
command {puts user,password}
pack('side'=>'left', 'padx'=>10, 'pady'=>10)
font 'arial 12 bold'
background '#ccc'
place('x'=>130,'y'=>150)
end
TkButton.new do
text "退出"
command { exit }
pack('side'=>'left', 'padx'=>10, 'pady'=>10)
font 'arial 12 bold'
background '#ccc'
place('x'=>200,'y'=>150)
end
Tk.mainloop
效果如下:
速度嘛,从运行这个程序来看,速度还可以。