В tcl я сделал следующую простую программу входа.Tcl Автоматическое обновление часов
package require Tk
wm geometry . "150x125"
set systemTime [clock seconds]
ttk::entry .loginUser
ttk::entry .loginPass -show "*"
ttk::label .l -text "Username:"
ttk::label .l2 -text "Password:"
ttk::button .b -text "Login"
pack .l
pack .loginUser
pack .l2
pack .loginPass
pack .b
bind . <Return> ".b invoke"
proc CheckLogin {} {
if {[.loginUser get] eq "None"} {
if {[.loginPass get] eq "1234"} {
destroy {*}[winfo children .]
ttk::label .time -text [clock format $::systemTime -format %T]
ttk::button .b -text "Check time" -command {
.time configure -text [clock format $::systemTime -format %T]
pack .time
}
pack .b
}
}
}
.b configure -command CheckLogin
С помощью этой программы, как только вы входите в систему, вам предоставляется одна кнопка: проверьте время. Когда кнопка нажата, она дает часы, отображающие время как% H% M% S,% H - часы,% M - минуты, а% S - секунды. Однако, когда вы нажимаете кнопку, время отображается один раз, и оно не изменяется. Мой вопрос в том, есть ли способ сделать само обновление часов, например, 14: 29: 1 до 14: 29: 2 БЕЗ предыдущего показания времени?
Можно использовать события 'after' и переменную' trace' для выполнения гораздо более сложных задач, но большую часть времени вы можете делать отличные вещи с очень простым кодом. –