Python Metin Editörü : Bir Proje Pypad
-
Napayım napayım derken kendime bi uğraş bulayım geliştireyim diye arayüzlü bir metin editörü yazmaya çalıştım bu betadır hata olabilir eksiklikler olabilir şuan sadece temel işlevleri yerine getiriyor.Adını da koymayı unutmadım : PyPad (NotePad) den çaldım.
Not:Dosya kaydette sorun var şöyle ki her dosya kaydedişinizde isim girmek zorundasınız bunun kontrolünü eklemedim.Neden mi ? Finaller var be .
Not2:Dosya aç dediğinizde açmazsanız hata verir akıllı olun :)Konunun urlsi : http://www.enesergn.com/python-metin-editoru-bir-proje-pypad.py
kodlara geçersek:__author__ = 'ka1nsha' # -*- coding:utf-8 -*- #!/usr/bin/python from Tkinter import * import os from tkFileDialog import askopenfilename def kaydet(): global kayit kayit = Toplevel() kayit.title("Dosya ismini yazınız : ") global bildiri bildiri = Entry(kayit) bildiri.pack() konum = os.getcwd() bilgi = Label(kayit) bilgi.config(text = ("Dosya şuraya kaydedilicek : %s") %(konum)) bilgi.pack() buton = Button(kayit,text="Kaydet",command=dosyakaydet) buton.pack() def dosyakaydet(): dosyaismi = bildiri.get() str(dosyaismi) dosya = open("%s.txt" %(dosyaismi) , "w") kaydedilicekyazi = yazialani.get("1.0", END) str(kaydedilicekyazi) dosya.write(kaydedilicekyazi) dosya.close() kayit.destroy() def yenidosya(): yazialani.delete("1.0", END) def dosyaac(): ac = askopenfilename() acilanyazi = open(ac,"r") for y in acilanyazi: yazialani.delete("1.0", END) yazialani.insert(INSERT,y) anapencere = Tk() anapencere.wm_title("PyPad Alfa Non-Stable Version") ustmenu = Menu() ustmenu.add_command(label="Yeni",command=yenidosya) ustmenu.add_command(label="Kaydet",command=kaydet) ustmenu.add_command(label="Dosya Aç",command=dosyaac) anapencere.config(menu=ustmenu) #TextArea yazialani = Text() yazialani.pack() mainloop()
-
Eline sağlık boş bi vaktimde uzunca incelerim :)
-
ZoRKaYa bunu yazdı
Eline sağlık boş bi vaktimde uzunca incelerim :)
Öyle çok incelencek birşey yok hocam yani senin açından gayet kolay bi kod bloğu :D
-
(pycharm veya intellij idea) + dracula = <3
Buremba tarafından 08/Oca/14 01:00 tarihinde düzenlenmiştir -
Güzel olmuş haci ellerine sağlık.
-
outmost bunu yazdı
Güzel olmuş haci ellerine sağlık.
yakında hex kodlarını okuyanını yapıcam :D
-
Ka1nsha bunu yazdıoutmost bunu yazdı
Güzel olmuş haci ellerine sağlık.
yakında hex kodlarını okuyanını yapıcam :D
Hadi baim başarılar dilerim. =D
geliştirmeyi pyqt'ye kaydırırsan fıstık gibi scintilla var.
-
PyQt çok karmaşık geliyor bana tamam belki tkinterdan daha işlevsel ve özelliklidir fakat Tkinter iyi ya :)
-
Ka1nsha bunu yazdı
PyQt çok karmaşık geliyor bana tamam belki tkinterdan daha işlevsel ve özelliklidir fakat Tkinter iyi ya :)
hem de ek paket kurmaya gerek kalmıyor tkinter için.
şu programa bi status bar ekle de adam dosya seçmezse hata vermesin status'de dosya seçilmedi yazsın.
-
Daft bunu yazdıKa1nsha bunu yazdı
PyQt çok karmaşık geliyor bana tamam belki tkinterdan daha işlevsel ve özelliklidir fakat Tkinter iyi ya :)
hem de ek paket kurmaya gerek kalmıyor tkinter için.
şu programa bi status bar ekle de adam dosya seçmezse hata vermesin status'de dosya seçilmedi yazsın.
Aklıma bile gelmemişti la sağolasın vallaha :(
-
Güncelleme:
def kaydet(): global kayit kayit = Toplevel() kayit.title("Dosya ismini yazınız : ") global bildiri bildiri = Entry(kayit) bildiri.pack() konum = os.getcwd() bilgi = Label(kayit) bilgi.config(text = ("Dosya şuraya kaydedilicek : %s") %(konum)) bilgi.pack() buton = Button(kayit,text="Kaydet",command=dosyakaydet) buton.pack() #
Olan yeri:
global Kayitet Kayitet = asksaveasfile(mode="w") yazi = yazialani.get(0.0,END) Kayitet.write(yazi) Kayitet.close()
Olarak değiştirdim.Dosya kaydet fonksiyonunu kaldırdım . O kadar kod amelelik olmuş.Şuan ki bütün betik:__author__ = 'ka1nsha' # -*- coding:utf-8 -*- #!/usr/bin/python from Tkinter import * import os from tkFileDialog import * def kaydet(): global Kayitet Kayitet = asksaveasfile(mode="w") yazi = yazialani.get(0.0,END) Kayitet.write(yazi) Kayitet.close() def yenidosya(): yazialani.delete("1.0", END) def dosyaac(): ac = askopenfilename() acilanyazi = open(ac,"r") for y in acilanyazi: yazialani.insert(INSERT,y) anapencere = Tk() anapencere.wm_title("PyPad Alfa Non-Stable Version") ustmenu = Menu() ustmenu.add_command(label="Yeni",command=yenidosya) ustmenu.add_command(label="Kaydet",command=kaydet) ustmenu.add_command(label="Dosya Aç",command=dosyaac) anapencere.config(menu=ustmenu) #TextArea yazialani = Text() yazialani.pack() mainloop()
0x656e tarafından 11/Oca/14 22:16 tarihinde düzenlenmiştir