1

同様の質問が寄せられていますが、スクリプトの特定の作成方法に対処するものはありません。

from Tkinter import *
from ttk import *
class Gui(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent)       #Gui inherits from built in Frame Class
        self.parent = parent
        self.initUI()       

    def initUI(self):
        self.parent.title("Shoes Ware")
        self.pack(fill=BOTH, expand=1)

        run_val = Entry(self)          
        run_val["width"] = 5
        run_val.place(x=80, y=40)

        quit_B = Button(self, text="Submit", command=self.submit)   
        quit_B.place(x=130, y=170)

        def submit(self):
            value = run_val.get()
            print value
            self.quit()

def main():
    root = Tk()
    root.geometry("300x200+50+50")
    app = Gui(root)
    root.mainloop()

if __name__ == '__main__':
    main()

送信ボタンを押すと、「NameError: グローバル名 'run_val' が定義されていません」というメッセージが表示されます。ここで何が間違っていますか。現在、印刷ステートメントは私の作業を確認するためのものです。後で、その値をプログラムで使用します。

4

1 に答える 1

5

Entry ウィジェットへの参照を に保存していませんinitUI

def initUI(self):
    # ...
    self.run_val = Entry(self)          
    self.run_val["width"] = 5
    self.run_val.place(x=80, y=40)

self.run_val.get()その後、問題なくの値を取得できます。

于 2013-04-07T22:57:31.093 に答える