Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3 Tkinter:ScrolledText无法识别textvariable_Python_Tkinter - Fatal编程技术网

Python 3 Tkinter:ScrolledText无法识别textvariable

Python 3 Tkinter:ScrolledText无法识别textvariable,python,tkinter,Python,Tkinter,我正在创建一个程序,允许创业者输入他们公司的详细信息(如收入、利润、债务),控制台分析这些数字,并返回一个带有注释的等级和100分的分数 我在程序右侧的“总分”按钮下方制作了一个ScrolledText小部件 基本上,每次用户单击“总分!”,它都会显示100分,然后在ScrolledText框中显示分数和评论 但问题是它无法识别文本变量“FinalGrade”,错误显示: Traceback (most recent call last): File "/Users/s190528/Pych

我正在创建一个程序,允许创业者输入他们公司的详细信息(如收入、利润、债务),控制台分析这些数字,并返回一个带有注释的等级和100分的分数

我在程序右侧的“总分”按钮下方制作了一个ScrolledText小部件

基本上,每次用户单击“总分!”,它都会显示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"
回溯(最近一次呼叫最后一次):
文件“/Users/s190528/PycharmProjects/CSP/Seeking angle Investors GUI.py”,第433行,在
txtFinalGrade=ScrolledText(f1,字体=('arial',16,'bold'),textvariable=FinalGrade,bd=2,insertwidth=4,width=17,height=21,bg='steel blue',relief=FLAT)。放置(x=1280,y=180)
文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/scrolledtext.py”,第26行,在__
Text.\uuuu init\uuuuu(self,self.frame,**千瓦)
文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/_init__.py”,第2947行,在_init中__
小部件。_u初始化(self,master,'text',cnf,kw)
文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/_init__.py”,第2139行,在_init中__
(widgetName,self._w)+额外+自选项(cnf))
_tkinter.TclError:未知选项“-textvariable”
因为代码太长,无法粘贴到这里,所以我想将链接附加到它,以便您可以复制并粘贴到python中。谢谢


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

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()

您认为
ScrolledText
不接受
textvariable
是正确的。您只需使用
get
方法检索文本,并使用
insert
方法向其中添加文本。根据StackOverflow。首先,如果链接变得不可访问,那么问题就变得毫无用处,网站质量也会受到影响。也请阅读-你需要平息代码,只包括必要的部分来回答你的具体问题。用户不需要浏览不必要的代码,也不需要在其他地方浏览代码。帮助我们,帮助你。吸引志愿者花时间回答你的问题。我编辑了一个完整的工作示例,解决了这个问题
txtFinalGrade
被设置为调用
place(x=1280,y=180)
的输出,这是
None
(而不是
ScrolledText
)的输出。@user8244818:ScrolledText类是从文本类派生的。因此,您获得了tkinter文本小部件的所有功能,它恰好允许多行文本编辑。您可以使用它制作文本编辑器。请看,我刚刚编辑了我以前的评论,但问题是您将
txtFinalGrade
设置为
place
的输出,而不是
ScrolledText
。FWIW、
0.0
1.0
是不正确的文本小部件索引。索引是字符串,第一个字符的索引是
“1.0”
@user8244818您是否更改了
txtFinalGrade
的定义(因此方法
place
不会在同一行中调用)?这是你犯错误的最明显的原因。不要粗鲁,但我不是在为你做事。如果你付出真诚的努力,我当然愿意帮助你。