滚动条未拉伸以适合文本小部件

Cof*_*ing 6 python tkinter widget scrollbar

我能够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)
Run Code Online (Sandbox Code Playgroud)

Bry*_*ley 8

在您正在使用的问题中pack.pack可以选择告诉它在x轴和y轴中的任何一个或两个上增长或缩小.垂直滚动条通常应在y轴上增大/缩小,而在x轴上应为水平滚动条.文本小部件通常应该填充两个方向.

要在框架中执行文本小部件和滚动条,您通常会执行以下操作:

scr.pack(side="right", fill="y", expand=False)
text.pack(side="left", fill="both", expand=True)
Run Code Online (Sandbox Code Playgroud)

以上说明了以下几点:

  • 滚动条在右边(side="right")
  • 滚动条应拉伸以填充y轴中的任何额外空间(fill="y")
  • 文本小部件位于左侧(side="left")
  • 文本小部件应该拉伸以填充x和y轴中的任何额外空间(fill="both")
  • 文本小部件将展开以占用包含框架中的所有剩余空间(expand=True)

有关更多信息,请参阅http://effbot.org/tkinterbook/pack.htm


Ser*_*ial 5

这是一个例子:

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()
Run Code Online (Sandbox Code Playgroud)

这将创建一个文本框,sticky='ns'并使滚动条一直在窗口中上下移动