Python 3 Tkinter:ScrolledText无法识别textvariable

时间:2018-03-24 15:45:59

标签: python tkinter

我正在创建一个程序,允许企业家输入有关其公司的详细信息(例如收入,利润,债务),并且控制台会分析这些数字并返回带有评论和100分的分数。 / p>

我在程序的右侧创建了一个ScrolledText小部件,位于" Total Points!"按钮。

基本上,每次用户点击" Total Points!"时,它应显示100分,然后在ScrolledText框中显示成绩和评论。

但问题是它不能识别文本变量" FinalGrade"并且错误显示:

Traceback (most recent call last):
  File "/Users/s190528/PycharmProjects/CSP/Seeking Angel Investors GUI.py", line 433, in <module>
    txtFinalGrade = ScrolledText(f1,font=('arial',16,'bold'),textvariable=FinalGrade,bd=2,insertwidth=4, width=17, height=21,bg='steel blue', relief=FLAT).place(x=1280,y=180)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/scrolledtext.py", line 26, in __init__
    Text.__init__(self, self.frame, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 2947, in __init__
    Widget.__init__(self, master, 'text', cnf, kw)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 2139, in __init__
    (widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-textvariable"

因为代码太长而无法在此处粘贴,所以我想将链接附加到它,以便您可以将其复制并粘贴到python中。感谢。

https://docs.google.com/document/d/1WR5MO9GKDqSroIa0gCfnZpvpvIKPIEtzkHCQ5YzUaSI/edit

2 个答案:

答案 0 :(得分:2)

ScrolledText是一个Text小部件而不是Entry小部件。条目小部件是具有变量绑定的小部件,因为它们只显示字符串,因此可以绑定到一个简单的变量。文本小部件可以包含文本,图像和其他小部件以及格式等,并使用下面的树数据结构。

答案 1 :(得分:2)

textvariable无法与ScrolledText一起使用,因此您需要手动读取/写入它:

import tkinter as tk
from tkinter.scrolledtext import ScrolledText

root = tk.Tk()

# Make ScrolledText
txtFinalGrade = ScrolledText(root)
txtFinalGrade.pack()

# Add text to ScrolledText
txtFinalGrade.insert('1.0', 'hello world')

# Get text from ScrolledText
from_scrolledtext = txtFinalGrade.get('1.0', 'end')
print('Text inside ScrolledText is: ', from_scrolledtext)

root.mainloop()