1
我對限制調整大小text
Tk
小部件有疑問。我有兩個排列在一起的小部件,其中包含兩個text
代碼。問題是,當我調整包含「Box2」的文本窗口小部件時,會消失,如下圖所示。Tcl/Tk:限制調整「文本」部件的大小
我想調整大小,使「Box2」也可以看到。如果在調整大小的某個階段,如果無法顯示「Box2」,則應禁止調整爲較小的大小(儘管應調整爲較大的大小)。
正常大小
調整大小
重現該問題的代碼是:
#----------------------------------------------
# scrolled_text from Brent Welch's book
#----------------------------------------------
proc scrolled_text { f args } {
frame $f
eval {text $f.text -wrap none \
-xscrollcommand [list $f.xscroll set] \
-yscrollcommand [list $f.yscroll set]} $args
scrollbar $f.xscroll -orient horizontal \
-command [list $f.text xview]
scrollbar $f.yscroll -orient vertical \
-command [list $f.text yview]
grid $f.text $f.yscroll -sticky news
grid $f.xscroll -sticky news
grid rowconfigure $f 0 -weight 1
grid columnconfigure $f 0 -weight 1
return $f.text
}
proc horiz_scrolled_text { f args } {
frame $f
eval {text $f.text -wrap none \
-xscrollcommand [list $f.xscroll set] } $args
scrollbar $f.xscroll -orient horizontal -command [list $f.text xview]
grid $f.text -sticky news
grid $f.xscroll -sticky news
grid rowconfigure $f 0 -weight 1
grid columnconfigure $f 0 -weight 1
return $f.text
}
set st1 [scrolled_text .t1 -width 40 -height 10]
set st2 [horiz_scrolled_text .t2 -width 40 -height 2]
pack .t1 -side top -fill both -expand true
pack .t2 -side top -fill x
$st1 insert end "Box1"
$st2 insert end "Box2"
嘗試使用'grid'而不是使用.t1/.t2包,並且在行/列上設置weight /和/ minsize選項。有關網格的更多信息,請參見http://www.tkdocs.com/tutorial/grid.html。 – schlenk
@schlenk感謝您的提示。有用。我將發佈工作代碼作爲答案。 – Anand