2016-02-17 38 views
-1

我无法运行程序。但没有错误显示代码错误我想做一个测验程序,以及如何将此代码与我的其他代码结合起来我们需要使用TopLevel? 。这是我的代码:无法运行该程序,但不显示任何错误

import Tkinter 
MathsEasyLevel1 = Tkinter.Tk() 
MathsEasyLevel1.geometry("320x260") 
MathsEasyLevel1.title("Mathematics Easy") 
total = 0 

getanswer = Tkinter.IntVar() 
getanswer2 = Tkinter.StringVar() 

def userinput(): 
    Answer1 = getanswer.get() 
    if Answer1 == 8 : 
     total = total + 1 
     MathsEasyLevel1.withdraw() 
     MathsEasyLevel2.deiconify() 

    else : 
     total = total 
     MathsEasyLevel1.withdraw() 
     MathsEasyLevel2.deiconify() 
    return 

def userinput2(): 
    Answer2 = getanswer2.get() 
    if Answer2 == B : 
     total = total + 1 
     MathsEasyLevel2.withdraw() 
     ResultBox.deiconify() 

    else : 
     total = total 
     MathsEasyLevel2.withdraw() 
     ResultBox.deiconify() 
    return 

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) 
LabelName2.pack() 
TxtBoxName = Tkinter.Entry (MathsEasyLevel1, textvariable= getanswer) 
TxtBoxName.grid(row=2,column=0) 
TxtBoxName.pack() 

MathsEasyLevel2 = Tkinter.Tk() 
MathsEasyLevel2.geometry("320x260") 
MathsEasyLevel2.title("Mathematics Easy") 

BtnName = Tkinter.Button (MathsEasyLevel1, text="Next", command=userinput).pack() 


LabelName3 = Tkinter.Label (MathsEasyLevel2, text="Question 2", font=("Impact",20)) 
LabelName3.grid(row=0,column=2,sticky="new") 

LabelName3 = Tkinter.Label (MathsEasyLevel2, text="What is the place value of the digit 4 in 76421?") 
LabelName3.grid(row=1,column=0) 
LabelName3.pack() 

LabelName4 = Tkinter.Label (MathsEasyLevel2, text="A.Thousands B.Hundreds C.Ones D.Tens") 
LabelName4.grid(row=2,column=0) 
LabelName4.pack() 

TxtBoxName2 = Tkinter.Entry (MathsEasyLevel2, textvariable= getanswer2) 
TxtBoxName2.grid(row=3,column=0) 
TxtBoxName2.pack() 

BtnName2 = Tkinter.Button (MathsEasyLevel2, text="Next", command=userinput2).pack() 
MathsEasyLevel2.withdraw() 

ResultBox = Tkinter.Tk() 
ResultBox.geometry("320x260") 
ResultBox.title("Results") 

LabelName5 = Tkinter.Label (ResultBox, text="Total correct answers :"+ `total` , font=("Impact",20)) 
LabelName5.grid(row=1,column=0,sticky="new") 

LabelName5 = Tkinter.Label (ResultBox, text="Marks : "+`(total/2*100)`, font=("Impact",20)) 
LabelName5.grid(row=2,column=0) 
ResultBox.withdraw() 

def userinput3(): 
    ResultBox.withdraw() 
    MenuBox.deiconify() 
    return 

MathsEasyLevel1.mainloop() 
+0

@WoLy这是我的其他代码与级代码合并,但我想对此进行测试,但它并没有运行 – student

+0

@adrianus你可以检查我的问题,我的我的标记()函数没有resultbox正常工作 – student

回答

0

请提供更多关于如何尝试运行此操作的信息,以及您所获得的“输出”是什么。你有错误吗?它运行正常吗?另外,我建议使用主类而不是在文件中间运行代码。

@edit而接下来的时间请尽量使标题更具代表性(语言等)

+0

我的输出是结果框deiconify显示总标记。在resultbox deiconify之前将按钮在matheasylev el2显示计算标记 – student

+0

我已经找到解决方案但我的结果标记无法正常工作 – student

0

我已经找到了解决办法,但对于resultbox犯规work.It犯规计算total.These的标志是我的新代码:

import Tkinter 
import tkMessageBox 

#easybox1 
EasyBox1 = Tkinter.Tk() 
EasyBox1.geometry("250x200") 
EasyBox1.title("Quesion 1") 

Tkinter.Label (EasyBox1, text="answer:").pack() 

answr1 = Tkinter.Entry (EasyBox1) 
answr1.pack() 

LabelName2 = Tkinter.Label (EasyBox1, text="State the number of edges in a cube") 
LabelName2.grid(row=1,column=0) 
LabelName2.pack() 

def next1(): 
    total = 0 
    if not answr1.get(): 
     tkMessageBox.showerror('no answer') 
    elif answr1.get() == 8 : 
     total = total + 1 
     EasyBox1.withdraw() 
     EasyBox2.deiconify() 
    elif answr1.get() != 8: 
      total = total 
      EasyBox1.withdraw() 
      EasyBox2.deiconify() 
    return 

#easybox2 
EasyBox2 = Tkinter.Tk() 
EasyBox2.geometry("250x200") 
EasyBox2.title("Quesion 2") 

Tkinter.Label (EasyBox2, text="answer:").pack() 

answr2 = Tkinter.Entry (EasyBox2) 
answr2.pack() 

LabelName2 = Tkinter.Label (EasyBox2, text="What is the place value of the digit 4 in 76421?") 
LabelName2.grid(row=1,column=0) 
LabelName2.pack() 

LabelName2 = Tkinter.Label (EasyBox2, text="A.Thousands B.Hundreds C.Ones D.Tens") 
LabelName2.grid(row=1,column=0) 
LabelName2.pack() 

def mark(): 
    total = 0 
    if not answr2.get(): 
     tkMessageBox.showerror('no answer') 
    elif answr2.get() in ["B", "b"]: 
     total = total + 1 
     EasyBox1.withdraw() 
     ResultBox.deiconify() 
    else: 
     total = total 
     EasyBox1.withdraw() 
     ResultBox.deiconify() 


EasyBox2.withdraw() 

total = 0 


ResultBox = Tkinter.Tk() 
ResultBox.geometry("320x260") 
ResultBox.title("Results") 

LabelName5 = Tkinter.Label (ResultBox, text="Marks : "+`total`, font=("Impact",20)) 
LabelName5.grid(row=2,column=0) 
ResultBox.withdraw() 

Tkinter.Button (EasyBox1, text="Next", command=next1).pack() 
Tkinter.Button (EasyBox2, text="result", command=mark).pack() 

EasyBox1.mainloop() 
相关问题