通过存储字符串。条目Tkinter/Python

2024-09-30 22:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个帮助求解二次方程的程序-这只是布局的一个弃置,但实际上当我输入参数(AB和{})时,它应该存储它,然后我可以在以后使用它。在

这是我目前所得到的(不要介意名字和文字,它是用丹麦语写的):

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时,它是空白的。在


Tags: textgetdeflabelpackentrytextvariablestringvar
1条回答
网友
1楼 · 发布于 2024-09-30 22:27:22

如果这是完整的程序,那么它有一些问题。在我的电脑上它根本不运行(没有GUI,例外),也许你可以运行它,但它不会做任何合乎逻辑的事情。这就是为什么:

1)在调用Tk()之前不能创建StringVar。在我的代码中(试图修复您的代码),我在一开始添加了两行:

from Tkinter import *
root = Tk()

2)你没有激活Tkinter的主循环。我在Parabel()的底部加了一行:

^{pr2}$

3)我在您的函数中添加了一行调用:

Parabel()

我运行得很好。在

相关问题 更多 >