tkinter - 无法使用带有标签

时间:2015-11-25 21:47:26

标签: python tkinter

我尝试使用与此类似的代码创建带有垂直滚动条的标签:

from Tkinter import *
master = Tk()
master.geometry('480x320')
scrbar = Scrollbar(master, orient=VERTICAL, width=28)
scrbar.place(x=450, y=52)
lbl = Label(master, text=('A'*100), yscrollcommand=scrbar.set)
lbl.place(x=10, y=10)
scrbar.config(command=lbl.yview)
master.mainloop()

运行时,我收到以下错误:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    lbl = Label(master, text=('A'*100), yscrollcommand=scrbar.set)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2590, in __init__
    Widget.__init__(self, master, 'label', cnf, kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 2089, in __init__
    (widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-yscrollcommand"

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:1)

解决方案是使用支持滚动条的小部件。标签不是这样的小部件。如果您只需要水平滚动,则可以使用Entry小部件,并在设置文本后将状态设置为禁用。

如果需要垂直滚动,可以使用“文本”小部件。您还可以使用画布,其中包含在画布上绘制的文本项或嵌入在画布中的标签(搜索如何执行可滚动框架;解决方案是相同的,即使它是标签而不是框架)