Программирование на языке 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 LeftendTkLabel.new(top) do # Символ градуса text "о" font "{Arial} 14 {bold}" foreground "green" background "#606060" # Включить в хэш прикрепление к северу (символ градуса отображается # в виде верхнего индекса). pack Left.update({ 'anchor' => 'n' })endTkButton.new(bottom) do text " Up " command proc { tlab.configure("text"=>(temp+=1).to_s) } pack LeftendTkButton.new(bottom) do text "Down" command proc { tlab.configure("text"=>(temp-=1).to_s) } pack Leftendtop.pack Topbottom.pack BottomTk.mainloopЗдесь мы создали два фрейма. Верхний служит только для отображения температуры. Она измеряется по шкале Фаренгейта и для улучшения дизайна выводится крупным шрифтом (а символ градуса отображается маленькой буквой «о», расположенной справа сверху). Нижний фрейм содержит кнопки «вверх» и «вниз».
Обратите внимание на не встречавшиеся еще атрибуты объекта
TkLabelfont-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"widthheightborderwidthРассмотрим еще один пример использования кнопки. На этой кнопке будет изображение, а не просто текст.
Я создал GIF-файлы с изображениями стрелок, указывающих вверх и вниз (
up.gifdown.gifTkPhotoimageup_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 LeftendTkButton.new(bottom) do
