7
我在python中實現了一個基於GUI的文本編輯器。
我已經顯示了文本區域,但是當我嘗試在Tkinter中使用asksaveasfile方法時,它顯示文件已保存,但當我嘗試在桌面編輯器中打開相同文件時,它會給我一個空白文件。在Tkinter中保存文件對話框
只有該文件被創建並保存。它的內容不是。
我想知道爲什麼。難道我做錯了什麼?這是我的代碼:
from Tkinter import *
import tkMessageBox
import Tkinter
import tkFileDialog
def donothing():
print "a"
def file_save():
name=asksaveasfile(mode='w',defaultextension=".txt")
text2save=str(text.get(0.0,END))
name.write(text2save)
name.close
root = Tk()
root.geometry("500x500")
menubar=Menu(root)
text=Text(root)
text.pack()
filemenu=Menu(menubar,tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=file_save)
filemenu.add_command(label="Save as...", command=donothing)
filemenu.add_command(label="Close", command=donothing)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)
editmenu=Menu(menubar,tearoff=0)
editmenu.add_command(label="Undo", command=donothing)
editmenu.add_command(label="Copy", command=donothing)
editmenu.add_command(label="Paste", command=donothing)
menubar.add_cascade(label="Edit", menu=editmenu)
helpmenu=Menu(menubar,tearoff=0)
helpmenu.add_command(label="Help",command=donothing)
menubar.add_cascade(label="Help",menu=helpmenu)
root.config(menu=menubar)
root.mainloop()
它的工作原理。我認爲這是因爲括號,它不起作用。 –
你剛剛創建了一個編輯說索引從1.0開始,但我的文本完美保存,即使我把開始索引爲0.0。 –
@RohitShinde,可以將索引指定爲「(0.0,END)」來獲取整個文本,但是「(1.0,END)」對於指定方式是正確的。如果你想要第二行,你應該指定'2.x',而不是'1.x'。 – falsetru