我正在创建一个有助于解决二次方程的程序 - 这只是布局的弃儿,但实质上是在我输入参数时A
,B
和C
)它应该存储它然后我可以在以后使用它。
这是我到目前为止所得到的(不要介意名称和文字,它是丹麦语):
Vara = StringVar()
Varb = StringVar()
Varc = StringVar()
#Parabel
def Parabel():
parabel = Tk()
parabel.minsize(600, 400)
parabel.maxsize(600,400)
parabel.title("Parablens rødder")
pLabel = Label(parabel, text = "Parablens rødder").pack(side = TOP)
pLabel1 = Label(parabel, text = "Indtast parameterne A, B, C:").pack()
#A
pLabel2 = Label(parabel, text = "A:").pack()
pEntry1 = Entry(parabel, textvariable = Vara).pack()
#B
pLabel3 = Label(parabel, text = "B:").pack()
pEntry2 = Entry(parabel, textvariable = Varb).pack()
#C
pLabel4 = Label(parabel, text = "C:").pack()
pEntry3 = Entry(parabel, textvariable = Varc).pack()
pButton = Button(parabel, text = "OK", command = para ).pack()
def para():
a = Vara.get()
b = Varb.get()
c = Varc.get()
print(a,b,c) # just to test if they got stored,
据我所知,这应该有效,但是当我打印a,b,c时,它会显示为空白。
答案 0 :(得分:1)
如果这是完整的程序,那么它有一些问题。在我的电脑上它根本没有运行(没有GUI,例外),也许你可以运行它,但它不会做任何逻辑。这就是原因:
1)在调用Tk()
之前,您无法创建StringVar。在我的代码中(试图修复你的代码)我在最开始添加了两行:
from Tkinter import *
root = Tk()
2)你没有激活Tkinter的主循环。我在Parabel()的底部添加了这一行:
root.mainloop()
3)我添加了一行调用你的函数:
Parabel()
我把它运行好了。