首页 > 解决方案 > “AttributeError:‘函数’对象没有属性集”tkinter

问题描述

当我尝试在 tkinter 中使用 OptionMenu 时,我收到一条错误消息。这是错误:

AttributeError:'function'对象没有属性'set'

编码:

from tkinter import *
w = Tk()
w.geometry("250x250")
w.title("OptionMenu Testing")
def DoNothing():
    pass
options = ["Option1", "Option2", "Option3"]
DropdownMenuVar = StringVar()
DropdownMenuVar.set("Option1")
DropdownMenu = OptionMenu(w, DoNothing, *options)
DropdownMenu.place(x=175, y=200)

我可以看到选项,但是当我单击一个时,它会这样做!这段代码只是另一个涉及OptionMenus 的脚本的测试脚本。

编辑:刚刚删除了函数参数,现在我得到了这个:
AttributeError: 'str' object has no attribute 'set'

标签: pythonpython-3.xtkintertkinter.optionmenu

解决方案


这一行:

DropdownMenu = OptionMenu(w, DoNothing, *options)

应该是这样的:

DropdownMenu = OptionMenu(w, DropdownMenuVar, *options)

不相关,但我强烈建议您使用 PEP8 样式名称。它使您的代码更易于阅读。


推荐阅读