6 nov. 2018

Programa - GTK3-2

Vamos a crear una ventana con botones.


Primero tener instalada la gema así:

install gem gtk3 --> En  Windows
sudo install gem gtk3 --> En Linux

'''
ZetCode Ruby GTK tutorial

In this program, we lay out widgets
using absolute positioning.

Author: Jan Bodnar
Website: www.zetcode.com
Last modified: May 2015
por David Botía.
'''
# encoding: UTF-8
require 'gtk3'
$ruta=Dir.pwd+'/'
# puts $ruta

class RubyApp < Gtk::Window

    def initialize
        super
    
        init_ui
    end
    
    def init_ui
# La siguiente línea puede ser obviada y el fondo sería el del sistema.
        override_background_color :normal, Gdk::RGBA::new(0.4, 0.2, 0.2, 1)
               
        vbox = Gtk::Box.new :vertical, 10
        hbox = Gtk::Box.new :horizontal, 05
               
        e_space = Gtk::Alignment.new 0, 0, 0, 0
        vbox.pack_start e_space, :expand => true
        
             
        
        ok_btn = Gtk::Button.new :label => "OK"
        ok_btn.set_size_request 70, 30
        close_btn = Gtk::Button.new :label => "Cerrar"
        close_btn.set_size_request 70, 30
        ok_btn1 = Gtk::Button.new :label => "OK1"
        ok_btn1.set_size_request 100, 30
        
        hbox.add ok_btn
        hbox.add close_btn 
        hbox.add ok_btn1
        
        halign = Gtk::Alignment.new 1, 0, 0, 0
        halign.add hbox
        
        vbox.pack_start halign, :expand => false, 
            :fill => false, :padding => 5

        add vbox
set_title "Ventana Con color de fondo y BOTONES"
        signal_connect "destroy" do # Éste destroy no se puede cambiar
            Gtk.main_quit 
        end
            
        set_default_size 450, 516
        window_position = :center
        
        show_all        
    end
end

Gtk.init
    window = RubyApp.new
Gtk.main