文本小部件上的Python滚动条
问题描述:
我试图让一个简单的滚动条显示在文本小部件上...我已经派生出下面的代码,它添加了滚动条,但似乎完全消除了文本小部件。文本小部件上的Python滚动条
eula = Tkinter.Text(screen1_2)
eula.insert("1.0", "text")
eula.pack(side="left",fill="both",expand=True)
scroll = Tkinter.Scrollbar(eula)
scroll.pack(side="right",fill="y",expand=False)
答
注意,您必须在文本控件定义yscrollcommand=scroll.set
,并使用线路配置滚动条:scroll.config(command=eula.yview)
这里是你的代码rewriten一个滚动条:
#Import Tkinter
from Tkinter import *
#define master
master = Tk()
#Vertical (y) Scroll Bar
scroll = Scrollbar(master)
scroll.pack(side=RIGHT, fill=Y)
#Text Widget
eula = Text(master, wrap=NONE, yscrollcommand=scroll.set)
eula.insert("1.0", "text")
eula.pack(side="left")
#Configure the scrollbars
scroll.config(command=eula.yview)
mainloop()
这里是一个Tkinter的例子有两个滚动条:
#Import Tkinter
from Tkinter import *
#define master
master = Tk()
#Horizontal (x) Scroll bar
xscrollbar = Scrollbar(master, orient=HORIZONTAL)
xscrollbar.pack(side=BOTTOM, fill=X)
#Vertical (y) Scroll Bar
yscrollbar = Scrollbar(master)
yscrollbar.pack(side=RIGHT, fill=Y)
#Text Widget
text = Text(master, wrap=NONE,
xscrollcommand=xscrollbar.set,
yscrollcommand=yscrollbar.set)
text.pack()
#Configure the scrollbars
xscrollbar.config(command=text.xview)
yscrollbar.config(command=text.yview)
#Run tkinter main loop
mainloop()
如果您只需要一个带有单个垂直滚动条的文本窗口小部件,并且您没有试图解决这个问题, easons,我会推荐使用ScrolledText。它是一个带有集成垂直滚动条的文本小部件。有关更多详细信息,请参见https://docs.python.org/2/library/scrolledtext.html。 – Gary02127