首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tkinter回调中,‘'str’对象没有属性'get‘

在Tkinter回调中,‘'str’对象没有属性'get‘
EN

Stack Overflow用户
提问于 2020-01-31 19:24:21
回答 1查看 1.1K关注 0票数 0

我试图跟踪OptionMenu小部件的选择,以便不同的选项运行不同的函数。但是,我经常遇到以下错误:

代码语言:javascript
复制
Exception in Tkinter callback
Traceback (most recent call last):
  File "-", line 1705, in __call__
    return self.func(*args)
  File "-", line 149, in callback
    self.bookingCanvas(optVar)
  File "-", line 152, in bookingCanvas
    perfDate = optVar.get()
AttributeError: 'str' object has no attribute 'get'

以下是相关代码:

代码语言:javascript
复制
    optVar = StringVar(self.root)
    optVar.trace('r', callback=self.callback)
    optVar.set("06/10/20") # default value
    optMenu_Label = Label(self.root, text='Select a performance date:',bg='gray15', fg='yellow', relief=GROOVE)
    optMenu_Label.pack(side=TOP, anchor=NW, padx=15, pady=15)

    optMenu = OptionMenu(self.root, optVar, '04/10/20','5/10/20','6/10/20')
    optMenu.pack(side=TOP,anchor=NW, padx=35, pady=3)

上面.trace()的回调:

代码语言:javascript
复制
    def callback(self, optVar, *args):
    print("SOMETHING HAS CHANGED")
    self.bookingCanvas(optVar)

错误区域(我假设):

代码语言:javascript
复制
    def bookingCanvas(self, optVar):
        perfDate = optVar.get()
        print("This is a Date >>>",perfDate)
        print("did we get here?")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-31 19:52:20

来自跟踪的回调给出了变量的名称,而不是对变量对象的引用。名称是一个字符串,这就是为什么您要获得错误AttributeError: 'str' object has no attribute 'get'

使用这个名称,您可以使用公共小部件方法getvar来获取存储在变量中的值。

callback的定义中,您可以获得该值并将其传递给您的函数,如下所示(假设在本例中,您有一个名为‘root’的全局变量,它表示根小部件)

代码语言:javascript
复制
def callback(self, optVar_name, *args):
    print("SOMETHING HAS CHANGED")
    value = root.getvar(optVar_name)
    self.bookingCanvas(value)

这样,就可以删除对getbookingCanvas中的调用。

代码语言:javascript
复制
def bookingCanvas(self, perfDate):
    print("This is a Date >>>",perfDate)
    print("did we get here?")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60010069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档