文本小部件上的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() 
+0

如果您只需要一个带有单个垂直滚动条的文本窗口小部件,并且您没有试图解决这个问题, easons,我会推荐使用ScrolledText。它是一个带有集成垂直滚动条的文本小部件。有关更多详细信息,请参见https://docs.python.org/2/library/scrolledtext.html。 – Gary02127