Python图形用户界面TKinter
我正在为我的易学问题制作一个界面。代码有什么问题吗?它一直说第21行有错误。怎么了Python图形用户界面TKinter,python,user-interface,tkinter,Python,User Interface,Tkinter,我正在为我的易学问题制作一个界面。代码有什么问题吗?它一直说第21行有错误。怎么了 import Tkinter MathsEasyLevel1 = Tkinter.Tk() MathsEasyLevel1.geometry("320x260") MathsEasyLevel1.title("Mathematics Easy") total = 0 getanswer = Tkinter.IntVar() def userinput(): Answer1 = getanswer.g
import Tkinter
MathsEasyLevel1 = Tkinter.Tk()
MathsEasyLevel1.geometry("320x260")
MathsEasyLevel1.title("Mathematics Easy")
total = 0
getanswer = Tkinter.IntVar()
def userinput():
Answer1 = getanswer.get()
if Answer1 == 8 :
total = total + 1
else :
total = total
MathsEasyLevel1.withdraw()
MathsEasyLevel1.deiconify()
return
LabelName = Tkinter.Label (MathsEasyLevel1, text="Question 1", font("Impact",20)).grid(row=0,column=2,sticky="new")
LabelName = Tkinter.Label (MathsEasyLevel1, text="State the number of edges in a cube")
LabelName.pack()
TxtBoxName = Tkinter.Entry (MathsEasyLevel1, textvariable= getanswer)
TxtBoxName.pack()
MathsEasyLevel2 = Tkinter.Tk()
MathsEasyLevel2.geometry("320x260")
MathsEasyLevel2.title("Mathematics Easy")
MathsEasyLevel2.withdraw()
BtnName = Tkinter.Button (MathsEasyLevel1, text="Proceed", command=userinput).pack()
我看到了一些问题。第21行(
LabelName=Tkinter.Label(MathsEasyLevel1,text=“Question 1”,font(“Impact”,20)).grid(row=0,column=2,sticky=“new”)
)以font
的形式将font
作为参数,因此这一行的更正代码为:
LabelName = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20)).grid(row=0,column=2,sticky="new")
另外,您正在将正在运行的grid
方法的结果分配给LabelName。您可能想这样做:
LabelName = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20))
LabelName.grid(row=0,column=2,sticky="new")
这样,您可以多次引用LabelName
,现在是实际的标签
对于两个不同的标签
小部件,还可以使用相同的变量名LabelName
。这意味着未保留对上一个的引用,这可能会在某个阶段导致问题。另一个问题是在同一窗口中混合使用grid
打包方法和pack
打包方法,这是一个错误。请尝试以下方法:
LabelName1 = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20))
LabelName1.grid(row=0,column=2,sticky="new")
LabelName2 = Tkinter.Label (MathsEasyLevel1, text="State the number of edges in a cube")
LabelName2.grid(row=1,column=0)
TxtBoxName = Tkinter.Entry (MathsEasyLevel1, textvariable= getanswer)
TxtBoxName.grid(row=2,column=0)
显然,您可以根据需要更改
行
和列
。我觉得你剩下的代码很好 我看到了一些问题。第21行(LabelName=Tkinter.Label(MathsEasyLevel1,text=“Question 1”,font(“Impact”,20)).grid(row=0,column=2,sticky=“new”)
)以font
的形式将font
作为参数,因此这一行的更正代码为:
LabelName = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20)).grid(row=0,column=2,sticky="new")
另外,您正在将正在运行的grid
方法的结果分配给LabelName。您可能想这样做:
LabelName = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20))
LabelName.grid(row=0,column=2,sticky="new")
这样,您可以多次引用LabelName
,现在是实际的标签
对于两个不同的标签
小部件,还可以使用相同的变量名LabelName
。这意味着未保留对上一个的引用,这可能会在某个阶段导致问题。另一个问题是在同一窗口中混合使用grid
打包方法和pack
打包方法,这是一个错误。请尝试以下方法:
LabelName1 = Tkinter.Label (MathsEasyLevel1, text="Question 1", font=("Impact",20))
LabelName1.grid(row=0,column=2,sticky="new")
LabelName2 = Tkinter.Label (MathsEasyLevel1, text="State the number of edges in a cube")
LabelName2.grid(row=1,column=0)
TxtBoxName = Tkinter.Entry (MathsEasyLevel1, textvariable= getanswer)
TxtBoxName.grid(row=2,column=0)
显然,您可以根据需要更改
行
和列
。我觉得你剩下的代码很好 如果你在stackoverflow问题中添加错误消息,我会更好。如果你在stackoverflow问题中添加错误消息,我会更好。你能帮我解决下面的问题吗?Thanks@MohdFareezuanKechik如果你觉得我的答案有帮助,请点击勾号接受答案!你能帮我解决下面的问题吗?Thanks@MohdFareezuanKechik如果你觉得我的答案有帮助,请点击勾号接受答案!