1

私は二次方程式を解くのに役立つプログラムを作成してABます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を印刷すると空白になります。

4

1 に答える 1

1

これが完全なプログラムである場合、いくつかの問題があります。私のPCではまったく実行されませんでした(GUIなし、例外)。実行できるかもしれませんが、論理的なことは何もしません。これが理由です:

1) を呼び出す前に StringVar を作成することはできませんTk()。私のコード(あなたのものを修正しようとしている)では、最初に2行追加しました:

from Tkinter import *
root = Tk()

2) Tkinter のメイン ループをアクティブにしませんでした。Parabel() の末尾に次の行を追加しました。

root.mainloop()

3)あなたの関数を呼び出す行を追加しました:

Parabel()

そして、私はそれを実行しました。

于 2012-12-01T19:42:48.433 に答える