Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python图形用户界面TKinter_Python_User Interface_Tkinter - Fatal编程技术网

Python图形用户界面TKinter

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

我正在为我的易学问题制作一个界面。代码有什么问题吗?它一直说第21行有错误。怎么了

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如果你觉得我的答案有帮助,请点击勾号接受答案!