0
0
0
share
#Python#tkinter#pythongui
0 Komentar
Belajar Membuat Aplikasi Text Editor Menggunakan Python Tkinter
Hallo teman-teman jumpa lagi dengan penulis kali ini, penulis akan membuat sebuah artikel bagaimana membuat teks editor menggunakan Python Tkinter. Tkinter merupakan salah satu library Python yang berguna saat ingin membuat aplikasi.
Langsung saja untuk membahas bagaimana pembuatan aplikasi text editor ini. Editor yang akan kita buat sekarang memiliki fungsi yang sangat sederhana yaitu menulis teks, menyimpan, serta membuka file berisi teks. Di sini penulis akan menggunakan Pycharm, jika teman-teman belum menginstall aplikasi Pycharm, silahkan bisa langsung menginstallnya di website ini https://www.jetbrains.com/pycharm/download/#section=windows.
Text editor yang dibuat akan seperti ini tampilannya:
Mari kita mulai proses pembuatan aplikasinya. Teman-teman buka dulu IDE Pycharm jika sudah menginstallnya. Lalu untuk membuat project baru, klik File > New Project dan kita akan diarahkan untuk mengisi nama project lalu klik create.
Maka akan tampil seperti dibawah ini :
Setelah itu langsung untuk new dan pilih Python file, dan langsung mengisi nama projectnya teman-teman. maka akan tampil seperti gambar dibawah ini:
Pertama kita impor dulu kelas-kelas Tkinter yang diperlukan.
from tkinter import *
from tkinter import messagebox
from tkinter.filedialog import asksaveasfilename
from tkinter import filedialog
import os
from tkinter.messagebox import askokcancel
Selanjutnya tulis kode untuk membuat class SimpleEditor dengan inheritence class Frame di Tkinter. Frame
merupakan sebuah container yang berfungsi sebagai tempat untuk meletakkan kontrol-kontrol seperti halnya dengan teks label atau tombol. Kenapa memerlukan Frame? Karena kita akan dapat mengatur jendela aplikasi yang memiliki ukuran yang kita inginkan juga untuk meletakkan sebuah label yang sudah dibuat, seperti ini tampilan Frame-nya:
class SimpleEditor(Frame):
def __init__(self, parent=None, file=None):
Frame.__init__(self, parent)
self.frm = Frame(parent)
self.frm.pack(fill=X)
self.layoutKolom = Frame(root)
self.buatNamefile()
parent.title("Text editor")
self.buatTombol()
self.kolomTeksUtama()
self.indeks = 1.0
self.path = ''
Setelah selesai, tuliskan kode berikut untuk metode membuat tombol open, save dan exit.
def buatTombol(self):
Button(self.frm, text='Open',relief='flat',command=self.openFile).pack(side=LEFT)
Button(self.frm, text='Save',relief='flat',command=self.perintahSimpan).pack(side=LEFT)
Button(self.frm, text='Exit',relief='flat',command=self.perintahKeluar).pack(side=LEFT)
- Kenapa harus menggunakan
self.frm
? Tujuannya dapat membuat frame seperti tempat untuk tombol atau toolbar, karena program disini akan memiliki tombol open, save dan exit di toolbar. - Lalu
relief='flat'
menjadikan tombol open, save, dan exit menjadi tombol yang datar. command=self.openFile
digunakan untuk memanggil fungsi dan menjalankan perintah openFile, Save, dan Exit.- Apa fungsi
.pack(side=LEFT)
? Tujuannya untuk membuat layout dengan mengatur tata letak ke sisi sebelah kiri.
Tulis source code dibawah untuk membuat metode kolom text utama dan scrollbar-nya.
def kolomTeksUtama(self):
scroll = Scrollbar(self)
kolomTeks = Text(self, relief=SUNKEN)
scroll.config(command=kolomTeks.yview)
kolomTeks.config(yscrollcommand=scroll.set)
scroll.pack(side=RIGHT, fill=Y)
kolomTeks.pack(side=LEFT, expand=YES, fill=BOTH)
self.kolomTeks = kolomTeks
self.pack(expand=YES, fill=BOTH)
Fungsi kolomTeksUtama
digunakan untuk menampung semua text program yang telah dibuat oleh teman-teman, bisa di lihat tampilan yang dibuat oleh kolomTeksUtama seperti berikut:
Lalu untuk perintah menyimpan file, masukkan source code seperti dibawah:
def perintahSimpan(self):
print(self.path)
if self.path:
alltext = self.gettext()
open(self.path, 'w').write(alltext)
messagebox.showinfo('Berhasil', 'Selamat File telah tersimpan ! ')
else:
tipeFile = [('Text file', '*.txt'),('Python file', '*asdf.py'),('All files', '.*')]
filename = asksaveasfilename(filetypes=(tipeFile),initialfile=self.kolomJudul.get())
if filename:
alltext = self.gettext()
open(filename, 'w').write(alltext)
self.path = filename
Tuliskan source code berikut untuk perintah exit jika ingin keluar dari text editor. Perintah Frame.quit(self)
berfungsi untuk menutup jendela Tkinter.
def perintahKeluar(self):
ans = askokcancel('Exit', "anda yakin ingin keluar?")
if ans: Frame.quit(self)
Setelah selesai, sekarang tuliskan source code dibawah agar dapat membaca isi file dan menampilkannya ke dalam jendela aplikasi.
def settext(self, text='', file=None):
if file:
text = open(file, 'r').read()
self.kolomTeks.delete('1.0', END)
self.kolomTeks.insert('1.0', text)
self.kolomTeks.mark_set(INSERT, '1.0')
self.kolomTeks.focus()
def gettext(self):
return self.kolomTeks.get('1.0', END+'-1c')
Tuliskan source code membuat label "Nama file: ", fungsinya agar dapat membaca nama file yang telah di open tadi dan menampilkannya.
def buatNamefile(self):
self.layoutKolom.pack(fill=BOTH, expand=1, padx=17, pady=5)
judul = Label(self.layoutKolom, text="Nama file : ")
judul.pack(side="left")
self.kolomJudul = Entry(self.layoutKolom)
self.kolomJudul.pack(side="left")
Selanjutnya tuliskan source code berikut agar dapat membuka file yang akan di open:
def openFile(self):
extensiFile = [ ('All files', '*'), ('Text files', '*.txt'),('Python files', '*.py')]
open = filedialog.askopenfilename(filetypes = extensiFile)
if open != '':
text = self.readFile(open)
if text:
self.path = open
nama = os.path.basename(open)
self.kolomJudul.delete(0, END)
self.kolomJudul.insert(END, nama)
self.kolomTeks.delete('0.1',END)
self.kolomTeks.insert(END, text)
Untuk membuka file, membaca teks file dan mengembalikan teks file, teman-teman perlu menuliskan kode seperti dibawah ini:
def readFile(self, filename):
try:
f = open(filename, "r")
text = f.read()
return text
except:
messagebox.showerror("Error!!")
return None
Langkah terakhir tuliskan kode berikut untuk menampilkan aplikasi Tkinter. Fungsi mainloop()
bertugas untuk mencegah jendela aplikasi langsung ditutup.
root = Tk()
SimpleEditor(root)
mainloop()
Jika teman-teman Run programnya, makan akan tampil output seperti berikut
Sekarang jika teman-teman klik open, save dan exit makan akan tampil seperti dibawah :
Selamat mencoba yah teman-teman :)
Referensi :
https://www.youtube.com/watch?v=7PGFin30c4o
https://www.youtube.com/watch?v=D24Vx3_IM8U
[http://repository.unpas.ac.id/28589/9/_III%20-%20BAB%20III%20EXPLORASI.pdf](http://repository.unpas.ac.id/28589/9/_III - BAB III EXPLORASI.pdf)
0
0
0
share