Попробуйте этот маленький подкласс класса scrolledtext:
itcl::class TailScrolled {
inherit iwidgets::Scrolledtext
destructor {}
public method import {filename}
private variable fd
private variable cb
private method ReadAppend {}
}
itcl::body TailScrolled::destructor {} {
if {[info exist fd]} {
close $fd
after cancel $cb
}
}
itcl::body TailScrolled::import {filename} {
if {[info exist fd]} {
close $fd
after cancel $cb
}
set fd [open $filename r]
ReadAppend
}
itcl::body TailScrolled::ReadAppend {} {
set cb [after 500 [::itcl::code ReadAppend]]
insert end [read $fd]
}
(Предупреждение: я на самом деле не пробовал, так что я мог бы точно сказать, как сделать наследование от виджета IWidgets. Это принцип того, как это сделать.)