Ruby/Tk/Main Window

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Create a new window

#!/usr/bin/env ruby
require "tk"
hello = TkRoot.new
TkLabel.new( hello ) do
    text "\n  Hello, myValue!  \n"
    pack
end
Tk.mainloop



Set size of main window

#!/usr/bin/env ruby
require "tk"
TkRoot.new {title "Ruby is fun!" }
TkLabel.new {
  font TkFont.new( "mistral 42" )
  text "Ruby is fun, in case you didn"t notice!"
  width 30
  height 3
  fg "blue"
  pack
}
TkButton.new {
  text "Quit"
  command "exit"
  pack
}
Tk.mainloop



The Frame Widget

require "tk"
top=TkRoot.new{title "Shopping Details"}
fname_label=TkLabel.new(top){
    text "First Name"
    place("relx"=>0.0,"rely"=>0.1)
}
fname_entry=TkEntry.new(top){
    place("relx"=>0.1,"rely"=>0.1)
}
lname_label=TkLabel.new(top){
    text "Last Name"
    place("relx"=>0.0,"rely"=>0.2)
}
lname_entry=TkEntry.new(top){
    place("relx"=>0.1,"rely"=>0.2)
}
age_label=TkLabel.new(top){
    text "Age"
    place("relx"=>0.0,"rely"=>0.3)
}
age_entry=TkEntry.new(top){
    place("relx"=>0.1,"rely"=>0.3)
}
gender_label=TkLabel.new(top){
    text "Gender : "
    place("relx"=>0.0,"rely"=>0.4)
}
radioVar=TkVariable.new
    r1 = TkRadioButton.new(top){
    text "Male"
    variable radioVar
 
    value 1
    place("relx"=>0.1,"rely"=>0.4)
}
r2 = TkRadioButton.new(top){
    text "Female"
    variable radioVar
    value 2
    place("relx"=>0.2,"rely"=>0.4)
}
list = TkListbox.new(top){
place("relx"=>0.8,"rely"=>0.1)
}
list.insert(1," Python")
list.insert(2," Perl")
list.insert(3," C")
list.insert(4," PHP")
list.insert(5," JSP")
list.insert(6," Ruby")
submit=TkButton.new(top){
text "SUBMIT"
command proc {
val=list.curselection()
sel = list.get(val)
Tk.messageBox("message"=>" The book name chosen is #{sel} ")
}
place("relx"=>0.3,"rely"=>0.8)
}
Tk.mainloop