Python'da GUI tabanlı bir metin düzenleyicisi uyguluyor.
Metin alanını görüntüledim ancak Tkinter'daki asksaveasfile yöntemini kullanmaya çalıştığımda, dosyanın kaydedildiğini ancak aynı dosyayı masaüstüm düzenleyicide açmaya çalıştığımda boş bir dosya verdiğini gösteriyor.Dosya Kaydet iletişimini Tkinter
Sadece dosya oluşturulur ve kaydedilir. İçeriği değildir.
Nedenini bilmek isterim. Yanlış bir şey mi yapıyorum? İşte benim kodum:
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()
Çalışıyor. Bunun çalışmadığı parantez nedeniyle olduğunu düşünüyorum. –
Dizinleştirmenin 1.0'dan başladığını söyleyen bir düzenleme oluşturdunuz, ancak başlangıç endeksini 0,0 olarak ayarlansa bile metnim mükemmel şekilde kaydediliyor. –
@RohitShinde, Dizini tüm metni almak için '(0.0, END) olarak belirtmek yeterlidir, ancak' (1.0, END) 'belirtmek için doğrudur. İkinci satırı istiyorsanız, '2.x' değil,' 1.x' belirtmelisiniz. – falsetru