Contoh applikasi Note dengan menggunakan Python TKinter

Simple Text Editor_006

gambar 1 Notepad

judhoperwiro.wordpress.com –  Notepad adalah aplikasi yang terdapat pada komputer, berfungsi sebagai media untuk mengedit dan membuat suatu tulisan atau kode pemrograman. Selain itu juga berguna sebagai media untuk memberitahukan agenda. Berikut adalah tutorial cara membuat applikasi notepad di Ubuntu 15.04.

  1. Jalankan Terminal atau Linux shell (Ctrl +Alt + T)
  2. Buatlah direktori kerja (misal: /home/judhoperwiro.wordpress.com/kodepython) dengan menuliskan perintah berikut : $ sudo mkdir kodepython
  3. Buat file baru dengan nama Note.py dan simpan dalam direktori kerja: $ sudo gedit Note.py
  4. Isikan kode berikut ke dalam file Note.py :

from Tkinter import *
from tkSimpleDialog import askstring
from tkFileDialog   import asksaveasfilename
from tkMessageBox import askokcancel
import webbrowser
import tkMessageBox

url = ‘https://judhoperwiro.wordpress.com/’

root = Tk()
root.wm_title(“Simple Text Editor”)
frame = Frame(root)
frame.pack()

def OpenUrl():
webbrowser.open_new(url)

button = Button(frame, text=”https://judhoperwiro.wordpress.com/”, command=OpenUrl)
button.pack()

class Quitter(Frame):
def __init__(self, parent=None):
Frame.__init__(self, parent)
self.pack()
widget = Button(self, text=’Exit’, command=self.quit)
widget.pack(expand=YES, fill=BOTH, side=LEFT)
def quit(self):
ans = askokcancel(‘Verify exit’, “Are You Sure Want to Exit?”)
if ans: Frame.quit(self)

frame = Frame(root)
frame.pack()
def hello():
tkMessageBox.showinfo(“Help”, “Script Created by : Haris32 | Official Web : http://www.exhacking.net”)

button = Button(frame, text = “Help”, command = hello)
button.pack(side=LEFT)

class ScrolledText(Frame):
def __init__(self, parent=None, text=”, file=None):
Frame.__init__(self, parent)
self.pack(expand=YES, fill=BOTH)
self.makewidgets()
self.settext(text, file)
def makewidgets(self):
sbar = Scrollbar(self)
text = Text(self, relief=SUNKEN)
sbar.config(command=text.yview)
text.config(yscrollcommand=sbar.set)
sbar.pack(side=RIGHT, fill=Y)
text.pack(side=LEFT, expand=YES, fill=BOTH)
self.text = text
def settext(self, text=”, file=None):
if file:
text = open(file, ‘r’).read()
self.text.delete(‘1.0’, END)
self.text.insert(‘1.0’, text)
self.text.mark_set(INSERT, ‘1.0’)
self.text.focus()
def gettext(self):
return self.text.get(‘1.0′, END+’-1c’)

class SimpleEditor(ScrolledText):
def __init__(self, parent=None, file=None):
frm = Frame(parent)
frm.pack(fill=X)
Button(frm, text=’Save’,  command=self.onSave).pack(side=LEFT)
Button(frm, text=’Cut’,   command=self.onCut).pack(side=LEFT)
Button(frm, text=’Paste’, command=self.onPaste).pack(side=LEFT)
Button(frm, text=’Find’,  command=self.onFind).pack(side=LEFT)
Quitter(frm).pack(side=LEFT)
ScrolledText.__init__(self, parent, file=file)
self.text.config(font=(‘courier’, 9, ‘normal’))
def onSave(self):
filename = asksaveasfilename()
if filename:
alltext = self.gettext()
open(filename, ‘w’).write(alltext)
def onCut(self):
text = self.text.get(SEL_FIRST, SEL_LAST)
self.text.delete(SEL_FIRST, SEL_LAST)
self.clipboard_clear()
self.clipboard_append(text)
def onPaste(self):
try:
text = self.selection_get(selection=’CLIPBOARD’)
self.text.insert(INSERT, text)
except TclError:
pass
def onFind(self):
target = askstring(‘SimpleEditor’, ‘Search String?’)
if target:
where = self.text.search(target, INSERT, END)
if where:
print where
pastit = where + (‘+%dc’ % len(target))
#self.text.tag_remove(SEL, ‘1.0’, END)
self.text.tag_add(SEL, where, pastit)
self.text.mark_set(INSERT, pastit)
self.text.see(INSERT)
self.text.focus()

if __name__ == ‘__main__’:
try:
SimpleEditor(file=sys.argv[1]).mainloop()
except IndexError:
SimpleEditor().mainloop()

5. Jalankan file tersebut menggunakan perintah: $ python Note.py

Selection_002

Enjoy..

sumber: https://github.com/exhacking/TKinter/blob/master/simple-text-editor.py