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行目が必要な場合は、 '1.x'ではなく' 2.x'を指定してください。 – falsetru