GTK中的GUI设计

时间:2015-01-14 02:59:56

标签: ruby gtk

我正在尝试使用GTK和Ruby 2.0.0来设计一个如下所示的用户界面:

ColHead1                         ColHead2
(box for user number input)      (box for user number input)

                               SubmitBtn

基于GTK教程,我读到了这一点:

require 'gtk3'

class RubyApp < Gtk::Window

def initialize
    super   
    init_ui
end

def init_ui   

    table = Gtk::Table.new 2, 2, true
    submit = Gtk::Button.new :label => "Submit Btn"

    submit.signal_connect "clicked" do
        on_submit
    end 

    label = Gtk::Label.new "ColHead1"

    entry = Gtk::Entry.new
    entry.signal_connect "key-release-event" do |w, e|
        on_key_release w, e, label
    end

    set_title "Gtk::Entry"
    signal_connect "destroy" do 
        Gtk.main_quit 
    end  

    table.attach label, 0,1,0,1
    table.attach submit, 1, 0, 1, 0

        add table

    set_default_size 250, 200
    set_window_position :center

    show_all        
end  
=begin    
def on_key_release sender, event, label
    label.set_text sender.text
end
=end    
end

Gtk.init
window = RubyApp.new
Gtk.main

有人可以解释如何正确实现我上面显示的示例gui吗?

1 个答案:

答案 0 :(得分:0)

我认为你有两个选择:

  1. 封装不同的容器:
  2. 创建一个垂直框(Gtk :: Box),在其中添加一个水平框,您可以在其中添加Col1小部件和Col2小部件。 然后将“提交”按钮添加到垂直框中。

    应将垂直框添加到主窗口。这样,您可以轻松配置每个小部件将如何填充其分配的空间。

    1. 使用Gtk网格(替代Gtk表)