如何在 tcl 中使 TableList 可滚动?
How to make a TableList scrollable in tcl?
我正在使用 tablelist 包在一个框架中显示一个 table 列表(呵呵),但是这个框架非常小并且 [= 中有一堆列17=].
我需要一些方法让这个 table 列表可以水平和垂直滚动。
这是我的 tablelist
的代码
labelframe .t.lbf -text "Search Results for: $term" -padx 0 -width 47
tablelist::tablelist .t.mlb -selectmode multiple -columns {0 "File" 0 "Name" 0 "Version" 0 "Archtectures" 0 "Summary" 0 "Type"} -stretch all -background white -width 47
pack .t.mlb -in .t.lbf -anchor w
place .t.lbf -x 10 -y 125
我已经发布了向小部件(在本例中为文本小部件)添加滚动条的基本方法here。以下似乎有效:
toplevel .t
labelframe .t.lbf -text "Search Results for: $term" -padx 0 -width 47
tablelist::tablelist .t.lbf.mlb -selectmode multiple -columns {0 "File" 0 "Name" 0 "Version" 0 "Archtectures" 0 "Summary" 0 "Type"} -stretch all -background white -width 47 -xscroll {.t.lbf.h set} -yscroll {.t.lbf.v set}
scrollbar .t.lbf.v -orient vertical -command {.t.lbf.mlb yview}
scrollbar .t.lbf.h -orient horizontal -command {.t.lbf.mlb xview}
# Lay them out
grid .t.lbf -sticky nsew
grid .t.lbf.mlb .t.lbf.v -sticky nsew
grid .t.lbf.h -sticky nsew
# Tell the tablelist widget to take all the extra room
grid rowconfigure .t.lbf .t.lbf.mlb -weight 1
grid columnconfigure .t.lbf .t.lbf.mlb -weight 1
place .t.lbf -x 10 -y 125
其他读者请注意:OP 想要将 tablelist
包装在 labelframe
中,然后 place
那个。没有这些要求,任务会变得更容易一些。同样,请参阅上面 link 中的示例:将其重新用于 table 列表仅涉及替换文本小部件。
文档:grid, labelframe, place, scrollbar, toplevel
我正在使用 tablelist 包在一个框架中显示一个 table 列表(呵呵),但是这个框架非常小并且 [= 中有一堆列17=].
我需要一些方法让这个 table 列表可以水平和垂直滚动。
这是我的 tablelist
的代码labelframe .t.lbf -text "Search Results for: $term" -padx 0 -width 47
tablelist::tablelist .t.mlb -selectmode multiple -columns {0 "File" 0 "Name" 0 "Version" 0 "Archtectures" 0 "Summary" 0 "Type"} -stretch all -background white -width 47
pack .t.mlb -in .t.lbf -anchor w
place .t.lbf -x 10 -y 125
我已经发布了向小部件(在本例中为文本小部件)添加滚动条的基本方法here。以下似乎有效:
toplevel .t
labelframe .t.lbf -text "Search Results for: $term" -padx 0 -width 47
tablelist::tablelist .t.lbf.mlb -selectmode multiple -columns {0 "File" 0 "Name" 0 "Version" 0 "Archtectures" 0 "Summary" 0 "Type"} -stretch all -background white -width 47 -xscroll {.t.lbf.h set} -yscroll {.t.lbf.v set}
scrollbar .t.lbf.v -orient vertical -command {.t.lbf.mlb yview}
scrollbar .t.lbf.h -orient horizontal -command {.t.lbf.mlb xview}
# Lay them out
grid .t.lbf -sticky nsew
grid .t.lbf.mlb .t.lbf.v -sticky nsew
grid .t.lbf.h -sticky nsew
# Tell the tablelist widget to take all the extra room
grid rowconfigure .t.lbf .t.lbf.mlb -weight 1
grid columnconfigure .t.lbf .t.lbf.mlb -weight 1
place .t.lbf -x 10 -y 125
其他读者请注意:OP 想要将 tablelist
包装在 labelframe
中,然后 place
那个。没有这些要求,任务会变得更容易一些。同样,请参阅上面 link 中的示例:将其重新用于 table 列表仅涉及替换文本小部件。
文档:grid, labelframe, place, scrollbar, toplevel