我能得到的Scrollbar
与一个Text
部件的工作,但由于某种原因它不拉伸以适应文本框。滚动条不拉伸以适应文本小
有谁知道的任何方式改变滚动条控件或东西的效果的高度?
txt = Text(frame, height=15, width=55)
scr = Scrollbar(frame)
scr.config(command=txt.yview)
txt.config(yscrollcommand=scr.set)
txt.pack(side=LEFT)
我能得到的Scrollbar
与一个Text
部件的工作,但由于某种原因它不拉伸以适应文本框。滚动条不拉伸以适应文本小
有谁知道的任何方式改变滚动条控件或东西的效果的高度?
txt = Text(frame, height=15, width=55)
scr = Scrollbar(frame)
scr.config(command=txt.yview)
txt.config(yscrollcommand=scr.set)
txt.pack(side=LEFT)
在你的问题你使用pack
。 pack
可以选择让它在x和y轴中的一个或两个中增长或缩小。垂直滚动条通常应该在y轴上增长/缩小,而在x轴上则应该是水平滚动条。文本小部件通常应该填充两个方向。
对于一帧做一个文本组件和滚动条你通常会做这样的事情:
scr.pack(side="right", fill="y", expand=False)
text.pack(side="left", fill="both", expand=True)
上面说以下几点:
side="right"
)fill="y"
)side="left"
)fill="both"
)expand=True
)欲了解更多信息,请参阅http://effbot.org/tkinterbook/pack.htm
下面是一个例子:
from Tkinter import *
root = Tk()
text = Text(root)
text.grid()
scrl = Scrollbar(root, command=text.yview)
text.config(yscrollcommand=scrl.set)
scrl.grid(row=0, column=1, sticky='ns')
root.mainloop()
这使得一个文本框和sticky='ns'
,使滚动条走一路向上和向下的窗口
简单的解决方法使用一个文本框带有集成滚动条:
的Python 3:
#Python 3
import tkinter
import tkinter.scrolledtext
tk = tkinter.Tk()
text = tkinter.scrolledtext.ScrolledText(tk)
text.pack()
tk.mainloop()
要读取文本框:
string = text.get("1.0","end") # reads from the beginning to the end
当然,如果你愿意,你可以缩短进口。
Python 2 you import ScrolledText
改为。
在Python 2是这样的: '从ScrolledText进口ScrolledText' '...'' 文本= ScrolledTex(TK)' 。 –
您的示例忽略为行或列设置权重,因此可能无法正确调整大小。 –