python - 不明白这个 AttributeError:'str' object has no attribute 'text'
问题描述
我正在制作一个允许在窗口中显示正在运行的文本的应用程序,但刚刚开始解析 OOP,我想知道如何解决这个错误......还有一个根据需要工作的示例,它将在脚本下方显示错误。
class Main_Desktop():
def __init__(self,parent,i,text):
self.i=i
self.parent=parent
self.ticker=Text(parent,height=1,width=100)
self.text=text
self.ticker.pack()
self.txt(i)
def txt(self, i):
i = 0
self.text = ('' * 20) + self.text + ('' * 20)
x = self.text[i:i + 20]
self.ticker.insert("1.1", x)
if i == len(self.text):
i = 0
else:
i = i + 1
self.ticker.after(100, lambda: Main_Desktop.txt(self.text[i:i + 20], i))
这是一个示例,它可以根据需要工作:
root =Tk()
text="string"
text = (' '*20) + text + (' '*20)
ticker = Text(root, height=1, width=20)
ticker.pack()
i = 0
def command(x, i):
ticker.insert("1.1", x)
if i == len(text):i = 0
else:i = i+1
root.after(100, lambda:command(text[i:i+20], i))
command(text[i:i+20], i)
解决方案
AttributeError:'str' object has no attribute 'text', tkinter
这意味着在您的代码中的某处,您有一个str
对象,您正试图调用.text()
它的方法。
因为您的str
对象没有.text()
方法,所以您会收到该错误。
要解决此问题,请检查您的变量类型,您不应使用str
对象,而应使用具有.text()
方法的对象
推荐阅读
- sql - SQL根据条件删除一行
- python - 在 DataFrame 中使用 apply 时如何传递参数
- javascript - NestJS 类型ORMCrudService
- maven-3 - Maven 3 项目:从 CLI 执行没有主清单文件的应用程序
- firebase - Android Studio 中的新项目未显示 Firebase 助手
- node.js - Monorepo – Yarn 工作区 Typescript Node.JS 项目 – 运行 nodemon 时找不到模块
- javascript - Vue js动态显示/隐藏div
- pyspark - 多个 pyspark 程序将按什么顺序在 spark 集群上执行
- google-bigquery - bigquery 引导窗口函数有没有办法使用表值作为偏移量?
- r - 使用另一列作为支持向后和向前填充“缺失值”(NA)