我正在编码用于树莓派。 我有类似以下字典的内容
self.appData = {"v": tk.StringVar(), "k": tk.StringVar()}
然后我设置一个默认值
self.appData["v"].set("G")
然后我已经完成了键盘输入的所有设置。
在解密按键的函数中,我按下了键盘,并且假定是从当前v(self.appData [“ v”]。get())中获取字符串,然后添加新的键盘推到它。
例如:第一次按键盘是“ a”,解密按键盘的功能,我有如下内容:
x = self.appData["v"].get() + key
self.appData["v"].set(str(x))
,因此它应该从字典中获得“ G”,并从中获得“ A”。然后我将v设置为新的x。第一次工作正常,然后第二次通过该函数,我得到了错误:
str'对象没有属性'get'python
答案 0 :(得分:0)
在这里,您将self.appData [“ w”]设置为字符串:
self.appData["v"].set("G")
这仅适用于tk.StringVar具有set方法。这不是在字典中分配值的方式。同样,这一行是错误的:
x = self.appData["v"].get() + key
所以您要在字符串上调用get()方法,而字符串没有get方法。 我想您要做的是:
x = self.appData.get("v") + key
self.appData["v"] = x