Tkinter OptionMenu 不能在函数中使用 .get
Tkinter OptionMenu cant use .get in a function
我正在写一些代码,当 optionMenu 改变时我需要一个变量来改变下面是我的一些代码
#!/user
# -*- coding: utf-8 -*-
import locale
import Tkinter as Tk
root = Tk.Tk()
root.title("My Tax Calculator")
root.geometry("700x225")
def getStudentLoan():
global StudentLoan
StudentLoan = StudentLoanLi.get()
LeftFrame = Tk.Frame(root, width=300, height=200, pady=3)
Placeholder2 = Tk.Label(LeftFrame, text="")
Placeholder2.grid(row=2, column=1)
StudentLoanOp = Tk.StringVar()
StudentLoanOp.set("No")
StudentLoanLi = Tk.OptionMenu(Placeholder2, StudentLoanOp, "No", "Plan 1", "Plan 2", command=lambda _: getStudentLoan())
StudentLoanLi.grid(row=2, column=1)
Tk.mainloop()
这在 pycharm 编辑器中不起作用 我收到此错误 "unresolved attribute reference error on 'get' for Class 'OptionMenu'"
当我执行代码并尝试更改 OptionMenu 时,我在控制台中收到此错误
"学生贷款=StudentLoanLi.get()
AttributeError:OptionMenu 实例没有属性 'get'"
任何帮助将不胜感激
OptionMenu
class没有get
方法。从 OptionMenu 中获取所选项目的正确方法是使用 OptionMenu 的 StringVar
的 get
方法,您将其命名为 StudentLoanOp
:
def getStudentLoan():
global StudentLoan
StudentLoan = StudentLoanOp.get()
我正在写一些代码,当 optionMenu 改变时我需要一个变量来改变下面是我的一些代码
#!/user
# -*- coding: utf-8 -*-
import locale
import Tkinter as Tk
root = Tk.Tk()
root.title("My Tax Calculator")
root.geometry("700x225")
def getStudentLoan():
global StudentLoan
StudentLoan = StudentLoanLi.get()
LeftFrame = Tk.Frame(root, width=300, height=200, pady=3)
Placeholder2 = Tk.Label(LeftFrame, text="")
Placeholder2.grid(row=2, column=1)
StudentLoanOp = Tk.StringVar()
StudentLoanOp.set("No")
StudentLoanLi = Tk.OptionMenu(Placeholder2, StudentLoanOp, "No", "Plan 1", "Plan 2", command=lambda _: getStudentLoan())
StudentLoanLi.grid(row=2, column=1)
Tk.mainloop()
这在 pycharm 编辑器中不起作用 我收到此错误 "unresolved attribute reference error on 'get' for Class 'OptionMenu'"
当我执行代码并尝试更改 OptionMenu 时,我在控制台中收到此错误
"学生贷款=StudentLoanLi.get() AttributeError:OptionMenu 实例没有属性 'get'"
任何帮助将不胜感激
OptionMenu
class没有get
方法。从 OptionMenu 中获取所选项目的正确方法是使用 OptionMenu 的 StringVar
的 get
方法,您将其命名为 StudentLoanOp
:
def getStudentLoan():
global StudentLoan
StudentLoan = StudentLoanOp.get()