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