str'对象没有属性'get'python

时间:2019-08-02 14:21:08

标签: python tkinter

我正在编码用于树莓派。 我有类似以下字典的内容

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

1 个答案:

答案 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