簡體   English   中英

使用 Tkinter 將文件名分配給變量

[英]Using Tkinter to assign filename to variable

我希望能夠使用 tkinter 條目來允許用戶輸入文件名。 該文件存儲在一個變量中,然后用於運行我一直在處理的驗證程序。 但是,使用我現在擁有的代碼,我只會收到無效文件錯誤,並且代碼無法運行。

TypeError: invalid file: <function input_text at 0x035DBD68>

這是我正在使用的代碼:

def input_text():
    mtext = stuff.get
    label2 = Label(root,text=mtext).pack()
    return

root = Tk()
stuff = StringVar()

root.title("Project")
root.geometry('300x100')

label = Label(root,text="My Project").pack()
button1 = Button(root,text="OK",command=input_text).pack()
entry1 = Entry(root,textvariable=stuff).pack()

with open(input_text, 'r') as f:
    reader = csv.reader(f)

這個想法是在分配 input_text 之前不會執行 with 語句下的代碼,但我找不到這樣做的方法。

如果您希望在單擊按鈕后運行某些代碼,請將其放入您的方法中。

此外, input_text被定義為函數,並且open需要一個文件作為您的錯誤狀態。 您可能希望將mtextStringVar的內容直接用作文件名。

def input_text():
    mtext = stuff.get() #notice the parentheses. You need to call the get method
    label2 = Label(root,text=mtext).pack()
    with open(mtext, 'r') as f:
        reader = csv.reader(f)


root = Tk()
stuff = StringVar()

root.title("Project")
root.geometry('300x100')

label = Label(root,text="My Project").pack()
button1 = Button(root,text="OK",command=input_text).pack()
entry1 = Entry(root,textvariable=stuff).pack()

請注意,如果要在該方法之外訪問打開的文件,則應將其設為全局或使用類結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM