[翻译]Ruby GTK教程1——介绍

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

这个例子继承自WindowWindow是一个顶级容器。


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方法设置一个提示框。


image1

图片:提示框


退出按钮


在这节的最后一个例子我们将创建一个退出按钮。当我们按下这个按钮时程序结束。


#!/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的位置。
image2

图片:退出按钮


这一节我们介绍Ruby语言的GTK库。




原文地址: http://zetcode.com/gui/rubygtk/introduction/

翻译:龙昌 admin@longchangjin.cn