2016-10-26 11 views
0

ユーザーが選択したファイルパスを設定し、変数に設定することに問題があります。私は、パスを取得し、それを入力ボックスに表示するように設定することができますが、私はそのパスをキャプチャし、別のスクリプトにインポートしたいと思います。多分私の論理はここに欠陥がありますか?私は間違って何をしていますか?私が呼び出すときに何も返されない理由.get()

import Tkinter 
    import tkFileDialog 
    from Tkinter import * 
    from tkFileDialog import * 

class GUI: 
    def __init__(self, master): 
     self.master = master 



     master.title("XML Compare Tool") 
     master.geometry('700x300') 

     path1 = StringVar() 
     path2 = StringVar() 
     self.bb1 = Button(master, text="Browse", command=lambda: path1.set(askopenfilename())) 
     self.bb1.grid(row=0, column=0, padx=5, pady=5) 


     self.bb2 = Button(master, text="Browse", command=lambda: path2.set(askopenfilename())) 
     self.bb2.grid(row=1, column=0, padx=5, pady=5) 

     self.confirm = Button(master, text="Confirm", command='') 
     self.confirm.grid(row=3, column=1, padx=5, pady=5, sticky='') 

     self.entry1 = Entry(master, width=75, textvariable=path1) 
     self.entry1.grid(row=0, column=1, columnspan=2, sticky=W) 
     print path1.get() 

     self.entry2 = Entry(master, width=75, textvariable=path2) 
     self.entry2.grid(row=1, column=1, sticky=W) 

     self.t_label = Label(master, text="Script Output") 
     self.t_label.grid(row=4, column=1, columnspan=1, sticky='') 

     self.t_frame = Frame(master, bg="white", height=150, width=600) 
     self.t_frame.grid(row=5, column=1, columnspan=1, sticky='') 
     self.t_text = Text(self.t_frame) 



root = Tk() 
my_gui = GUI(root) 
root.mainloop() 
+0

空の文字列で 'path1'を初期化しています。だから、なぜあなたはその価値を得ることが他の何かをもたらすと思いますか? – Daniel

+0

ユーザーがファイルを選択すると、その文字列を埋めてはいけませんか? – Nathan

+0

あなたは 'print path1.get()'を意味しますか?パスを選択する前に起動時に実行されます。 – furas

答えて

1

テキスト変数を使用する必要はありません。variable = entry1.get()を使用することができます。 Tkinterのtextvariableは伝統的なpython変数と似ていませんが、単にエントリ内のテキストを設定するために使用されます。

関連する問題