<p>我已经根据<a href="http://effbot.org/zone/tkinter-scrollbar-patterns.htm" rel="noreferrer">here</a>修改了您的代码。主要有两个不同点。</p>
<ol>
<li><p>我这样做是为了不让文本框包装起来。如果换行文本,则水平滚动条没有可滚动的内容。</p></li>
<li><p>我使用框架上的网格几何管理器将滚动条和文本小部件放在一起。使用<code>.grid</code>的好处是您实际上得到了正确宽度/高度的滚动条(这是使用<code>pack</code>无法实现的)。</p></li>
</ol>
<p>。。。</p>
<pre><code>from Tkinter import *
import tkFont
class DpWin(object):
def run(self):
root=Tk()
root.geometry('768x612')
title='dp'
root.title(title)
f = Frame(root)
f.pack()
xscrollbar = Scrollbar(f, orient=HORIZONTAL)
xscrollbar.grid(row=1, column=0, sticky=N+S+E+W)
yscrollbar = Scrollbar(f)
yscrollbar.grid(row=0, column=1, sticky=N+S+E+W)
text = Text(f, wrap=NONE,
xscrollcommand=xscrollbar.set,
yscrollcommand=yscrollbar.set)
text.grid(row=0, column=0)
xscrollbar.config(command=text.xview)
yscrollbar.config(command=text.yview)
text.insert(END, 'a'*999)
mainloop()
def start(self):
self.b_start.config(state=DISABLED)
self.b_stop.config(state=ACTIVE)
def stop(self):
self.b_stop.config(state=DISABLED)
self.b_start.config(state=ACTIVE)
if __name__=='__main__':
win=DpWin()
win.run()
</code></pre>