Ruby GTK介绍
在这部分的Ruby GTK编程教程中,我偿将介绍GTK库并且使用Ruby语言编写我们的第一个程序。
这个教程的目标是让你入门GTK和Ruby。贪吃蛇游戏的图片可以从这里下载。
关于
GTK是一个领先的创建图形化用户界面的套件。Ruby是一个流行的脚本语言。
简单的例子
第一个例子我们创建一个简单的窗口。这个窗口位置屏幕中间。
#!/usr/bin/ruby
# ZetCode Ruby GTK tutorial
#
# This program centers a window on
# the screen
#
# author: jan bodnar
# website: www.zetcode.com
# last modified: April 2009
require ‘gtk2’
class RubyApp < Gtk::Window
def initialize
super
set_title “Center”
signal_connect “destroy” do
Gtk.main_quit
end
set_default_size 250, 200
set_window_position Gtk::Window::POS_CENTER
show
end
end
Gtk.init
window = RubyApp.new
Gtk.main
这个例子在屏幕中间显示了一个250x200像素的窗口。
require ‘gtk2’
require关键字导入了这个应用程序中将要使用的类。
class RubyApp < Gtk::Window
这个例子继承自Window。Window是一个顶级容器。
set_title “Center”
设置窗口的标题。
signal_connect “destroy” do
Gtk.main_quit
end
当我们点击标题栏的关闭按钮或者按下Alt+F4时destroy事件被触发。main_quit正常退出应用程序。
set_default_size 250, 200
设置应用程序窗口的默认大小。
set_window_position Gtk::Window::POS_CENTER
将窗口放置在屏幕中间。
show
一些就绪,我们在屏幕上显示该窗口。
Gtk.init
window = RubyApp.new
Gtk.main
这三行启动应用程序。
创建提示框
第二个例子我们将显示一个提示框。提示框(Tooltip)是一个小的矩形窗口用于显示一些简洁的提示信息。它是一个常用的GUI组件。它是应用程序帮助系统的一部分。
#!/usr/bin/ruby
# ZetCode Ruby GTK tutorial
#
# This code shows a tooltip on
# a window and a button
#
# author: jan bodnar
# website: www.zetcode.com
# last modified: June 2009
require ‘gtk2’
class RubyApp < Gtk::Window
def initialize
super
set_title “Tooltips”
signal_connect “destroy” do
Gtk.main_quit
end
fixed = Gtk::Fixed.new
add fixed
button = Gtk::Button.new “Button”
button.set_size_request 80, 35
button.set_tooltip_text “Button widget”
fixed.put button, 50, 50
set_tooltip_text “Window widget”
set_default_size 250, 200
set_window_position Gtk::Window::POS_CENTER
show_all
end
end
Gtk.init
window = RubyApp.new
Gtk.main
这个例子创建了一个窗口。如果我们将鼠标光标放在窗口的区域中,将会出现一个提示框。
button.set_tooltip_text “Button widget”
我们使用set_tooltip_text方法设置一个提示框。
图片:提示框
退出按钮
在这节的最后一个例子我们将创建一个退出按钮。当我们按下这个按钮时程序结束。
#!/usr/bin/ruby
# ZetCode Ruby GTK tutorial
#
# This program creates a quit
# button. When we press the button,
# the application terminates.
#
# author: jan bodnar
# website: www.zetcode.com
# last modified: June 2009
require ‘gtk2’
class RubyApp < Gtk::Window
def initialize
super
set_title “Quit button”
signal_connect “destroy” do
Gtk.main_quit
end
init_ui
show_all
end
def init_ui
fixed = Gtk::Fixed.new
add fixed
button = Gtk::Button.new “Quit”
button.set_size_request 80, 35
button.signal_connect “clicked” do
Gtk.main_quit
end
fixed.put button, 50, 50
set_default_size 250, 200
set_window_position Gtk::Window::POS_CENTER
end
end
Gtk.init
window = RubyApp.new
Gtk.main
我们使用一个按钮控件。这是一个非常平常的控件。它显示一个文本、图像或者两者都显示。
init_ui
我们将用户接口的创建委派给init_ui方法。
show_all
我们有两个选择。对每个控件都调用show,或者调用show_all显示容器的所有了子控件。
button = Gtk::Button.new “Quit”
这里创建一个按钮控件。
button.set_size_request 80, 35
设置按钮的大小。
button.signal_connect “clicked” do
Gtk.main_quit
end
我们将main_quit方法插入到按钮的点击事件中。
fixed.put button, 50, 50
将退出按钮放在fixed容器的x=50,y=50的位置。
图片:退出按钮
这一节我们介绍Ruby语言的GTK库。
原文地址: http://zetcode.com/gui/rubygtk/introduction/
翻译:龙昌 admin@longchangjin.cn