# encoding: UTF-8
# Paso 0
require 'gtk2'
# Paso 1
ventana = Gtk::Window.new
ventana.signal_connect("destroy") {
puts "se produjo el evento destroy"
Gtk.main_quit
}
ventana.border_width = 10
# Paso 2
boton = Gtk::Button.new("Etiqueta")
boton.signal_connect("clicked") do
puts "Hola el botón fue presionado"
end
ventana.add(boton)
# Paso 3
ventana.show_all
# Paso 4
Gtk.main
Este es el fichero ventanas-horizontales.rb
# encoding: UTF-8
# Paso 1.- Definir ventana
require 'gtk2'
v=Gtk::Window.new
v.title = "Ventana de prueba 1"
v.border_width = 5
v.signal_connect('delete_event') do
Gtk.main_quit
false
end
# Paso 2.- Crear cajas y botones dentro de las cajas
'''
Primero crearé una caja invisible horizontal con cuatro botones
'''
caja1=Gtk::HBox.new(false,0) #Creamos el contenedor caja1
v.add(caja1)
b1=Gtk::Button.new("Boton 1") # Creamos el primer boton
b1.signal_connect("clicked") do
puts "Has presionado el boton 1"
end
b2=Gtk::Button.new("Boton 2") #Creamos un segundo boton
b2.signal_connect("clicked") do
puts "Has presionado el boton 2"
end
b3=Gtk::Button.new("Boton 3") #Creamos un tercer boton
b3.signal_connect("clicked") do
puts "Has presionado el boton 3"
end
b4=Gtk::Button.new("Boton 4") #Creamos un cuarto boton
b4.signal_connect("clicked") do
puts "Has presionado el boton 4"
end
caja1.pack_end(b1,true,true,0) # Añadimos el boton 1 a la caja
caja1.pack_end(b2,true,true,0) # Añadimos el boton 2 a la caja
caja1.pack_end(b3,true,true,0) # Añadimos el boton 3 a la caja
caja1.pack_end(b4,true,true,0) # Añadimos el boton 4 a la caja
# Paso 3.- Hacemos mostrables todo
b1.show
b2.show
b3.show
b4.show
caja1.show
# Paso 4.- Mostramos en la ventana
#v.show
v.show_all
Gtk.main
Este es el fichero ventanas-verticales.rb
# encoding: UTF-8
# Paso 1.- Definir ventana
require 'gtk2'
v=Gtk::Window.new
v.title = "Ventana de prueba 1"
v.border_width = 5
v.signal_connect('delete_event') do
Gtk.main_quit
false
end
# Paso 2.- Crear cajas y botones dentro de las cajas
'''
crearé una caja invisible vertical con cuatro botones
'''
caja2=Gtk::VBox.new(false,0) #Creamos el contenedor caja2
v.add(caja2)
bb1=Gtk::Button.new("Botón 1") # Creamos el primer boton
bb1.signal_connect("clicked") do
puts "Has presionado el boton V1"
end
bb2=Gtk::Button.new("Botón 2") #Creamos un segundo boton
bb2.signal_connect("clicked") do
puts "Has presionado el boton V2"
end
bb3=Gtk::Button.new("Boton 3") #Creamos un tercer boton
bb3.signal_connect("clicked") do
puts "Has presionado el boton V3"
end
bb4=Gtk::Button.new("Botón 4") #Creamos un cuarto boton
bb4.signal_connect("clicked") do
puts "Has presionado el boton V4"
end
caja2.pack_end(bb1,true,true,0) # Añadimos el boton 1 a la caja
caja2.pack_end(bb2,true,true,0) # Añadimos el boton 2 a la caja
caja2.pack_end(bb3,true,true,0) # Añadimos el boton 3 a la caja
caja2.pack_end(bb4,true,true,0) # Añadimos el boton 4 a la caja
# Paso 3.- Hacemos mostrables todo
bb1.show
bb2.show
bb3.show
bb4.show
caja2.show
# Paso 4.- Mostramos en la ventana
#v.show
v.show_all
Gtk.main