Программирование на языке Ruby
Программирование на языке Ruby читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Left = { 'side' => 'left', 'padx'=>5, 'pady'=>5 }
Bottom = { 'side' => 'bottom', 'padx'=>5, 'pady'=>5 }
temp =74 # Начальная температура...
root = TkRoot.new { title "Thermostat" }
top = TkFrame.new(root) { background "#606060" }
bottom = TkFrame.new(root)
tlab = TkLabel.new(top) do
text temp.to_s
font "{Arial} 54 {bold}"
foreground "green"
background "#606060"
pack Left
end
TkLabel.new(top) do # Символ градуса
text "о"
font "{Arial} 14 {bold}"
foreground "green"
background "#606060"
# Включить в хэш прикрепление к северу (символ градуса отображается
# в виде верхнего индекса).
pack Left.update({ 'anchor' => 'n' })
end
TkButton.new(bottom) do
text " Up "
command proc { tlab.configure("text"=>(temp+=1).to_s) }
pack Left
end
TkButton.new(bottom) do
text "Down"
command proc { tlab.configure("text"=>(temp-=1).to_s) }
pack Left
end
top.pack Top
bottom.pack Bottom
Tk.mainloop
Здесь мы создали два фрейма. Верхний служит только для отображения температуры. Она измеряется по шкале Фаренгейта и для улучшения дизайна выводится крупным шрифтом (а символ градуса отображается маленькой буквой «о», расположенной справа сверху). Нижний фрейм содержит кнопки «вверх» и «вниз».
Обратите внимание на не встречавшиеся еще атрибуты объекта
TkLabel
font
-Adobe-Helvetica- Bold-R-Normal*-120-*-*-*-*-*-*
Метод
foreground
"green"
Аналогично метод
background
"#606060"
Мы не включили никакой кнопки «выхода» (чтобы не загромождать окно). Как обычно, для того чтобы закрыть приложение, достаточно щелкнуть по иконке Close в правом верхнем углу рамки окна.
Отметим использование метода
configure
Упомянем еще две операции над текстовыми кнопками. Метод
justify
"left"
"right"
"center"
"center"
wraplength
Стиль кнопки можно изменить методом
relief
"flat"
"groove"
"raised"
"ridge"
"sunken"
"solid"
width
height
borderwidth
Рассмотрим еще один пример использования кнопки. На этой кнопке будет изображение, а не просто текст.
Я создал GIF-файлы с изображениями стрелок, указывающих вверх и вниз (
up.gif
down.gif
TkPhotoimage
up_img = TkPhotoimage.new("file"=>"up.gif")
down_img = TkPhotoimage.new("file"=>"down.gif")
TkButton.new(bottom) do
image up_img
command proc { tlab.configure("text"=>(temp+=1).to_s) }
pack Left
end
TkButton.new(bottom) do