Ruby GTK 简介
在 Ruby GTK 编程指南的本章,我们将介绍 GTK 库并使用 Ruby 程序设计语 言创 建第一个程序。
关于
GTK 是一种用来创建用户图 形界面(GUI)的主要工具包。而 Ruby 是一种流行 的脚本语言。
一个简单的例子
在第一个例子中,我们创建一个简单的窗体,显示在屏幕的中间位置。
#!/usr/bin/ruby 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
上述三行代码用来创建应用程序。
创建工具提示
第二个例子将显示工具提示。工具提示是一个小矩形窗体,用来显示关于一个对 象的简短 信息。它通常是一个 GUI 组件,是应用
程序帮助
系统的一部分。
#!/usr/bin/ruby 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 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 方法和按钮的 clicked 事件连接起来。 fixed.put button, 50, 50 我们将退出按钮放置在固定容器上 x=50,y=50 的位置上。 本章是借助 Ruby 语言来 介绍 GTK 库的。
布局
Fixed Container 故名之意就是固定容器,它容许把控件放到一个固定容器中, 并能随意