获取 TCL/Tk 表列表中的可见行

Get visible rows in a TCL/ Tk tablelist

我的应用程序中有一个 tcl/tk tablelist 可以表示大量行。我有一个与 table 关联的 scrodget,因此当元素计数大于当前 table 大小时会出现滚动条。

    ttk::labelframe .frm -text "Frametitle"
    ttk::scrodget .frm.sc -autohide both

    tablelist::tablelist .frm.lb -selectmode $selectmode -columntitles $columns

    .frm.sc associate .frm.lb
    grid .frm.sc -row 0 -column 0 -sticky nsew
    grid .frm

现在我的问题是大量的元素,我定制的定期更新程序需要很长时间。因此,我只想更新当前可见的行,而不是所有元素。有什么方法可以获取当前视图中的元素吗

替代品正在为 table 实现某种类似于页面的功能。但我会把它作为最后的手段来考虑。请指导。

只要结合正确的row indices with the index方法就可以了。 您可以获得最上面的可见行:

.frm.lb index top

和最底部可见的行:

.frm.lb index bottom