Часы и состояние: полный экран с цитаты в TCL/ТЗ


Я написал небольшой ночной клуб/сценарий, тк для друга, который отображает текущее время, а также цитата. Он использует его в каком-то проекте с Raspberry Pi, а так как я не хотел булыжник вверх что-то в Qt, PyQt, или какой-то сайт, я пытался писать что-то в TCL/ТЗ.

Демо

Вот как это выглядит в итоге:

screenshot of program

Требования

Этот сценарий предполагает, что у вас есть fortune доступны в вашем $PATH.

Сценарий

#!/usr/bin/env tclsh

proc every {ms body} {
    eval $body
    after $ms [info level 0]
}

label .time -bg black -fg white -font {Arial 150} -textvar ::time -pady 30
every 1000 { set ::time [clock format [clock sec] -format "%T"] }

label .fortune -bg black -fg white -font {Arial 15}  -textvar ::fortune
every 30000 { set ::fortune [exec fortune -s] }

pack .time -fill both
pack .fortune -fill both -expand 1

. configure -bg black

wm attributes . -fullscreen 1

bind . <q> exit

Что комментарий

Это мой первый скрипт на языке TCL/ТЗ. Не стесняйтесь похвалить на что угодно, особенно если есть какой-то общий стиль у меня отсутствует.



199
2
задан 1 февраля 2018 в 04:02 Источник Поделиться
Комментарии
1 ответ

Хороший код. Я вижу только пару штук


  1. добавить package require Tk чтобы быть явным, вам нужно ТЗ

  2. использовать uplevel #0 $body вместо eval

1
ответ дан 1 февраля 2018 в 08:02 Источник Поделиться