Thursday, September 13, 2018

Belajar GUI Python Dengan tkinter

Apa itu Tkinter pada python ?


Tkinter adalah pustaka standart yang dimiliki oleh Python. Kombinasi Python dan Tkinter ini menghasilkan sebuah tampilan grafik yang menarik sekaligus mudah untuk membuatnya.Tkintermenyediakan berbagai komponen grafis diantaranya tombol, label, kotak teks, yang mana komponen-komponen ini sangatlah sering digunakan dalam aplikasi GUI. Komponen Tkinter ini sering kita sebut widget.

Membuat Window GUI python dengan Tkinter


Memanggil Modul Tkinter
Modul Tkinter berisi berbagai kelas dan komponen yang diperlukan untuk membangun sebuah aplikasi GUI. Untuk menggunakan komponen Tkinter, perlu diimport dulu.  dengan sintax :
import Tkinter
untuk memnagggil semua metode, kelas, dan atribut dari modul Tkinter  gunakan cara seperti di bawah ini.
from Tkinter import *
Membuat Jendela Aplikasi GUI
Setiap aplikasi GUI seharusnya memiliki sebuah jendela utama (root window), yang dapat berisi berbagai komponen yang diperlukan dalam aplikasi yang akan dibuat. Untuk membuat jendela utama dari suatu aplikasi, gunakan pernyataan seperti berikut:
top = Tkinter.Tk()
Jika menggunakan pernyataan from-import untuk memanggil modul Tkinter, maka cukup menuliskan:
top = Tk()
Menambahkan Komponen Pada Aplikasi
Dengan menggunakan Tkinter, maka dapat menambahkan beberapa komponen pada aplikasi yang dibuat. Komponen ini bisa berdiri sendiri atau dapat diisi komponen lain (disebut Container). Komponen yang berdiri sendiri merupakan komponen yang tidak dapat diisi oleh komponen lain, misalkan tombol, checkbox, dan label. Komponen container merupakan komponen yang bisa berisi/ditempeli oleh komponen lain seperti frame dan window. 
Komponen-komponen Tkinter
KOMPONENDESKRIPSI
ButtonKomponen Button berfungsi untuk menampilkan sebuah tombol.
CanvasKomponen Canvas digunakan untuk menggambar bentuk seperti garis, lingkaran, poligon, dan kotak.
CheckbuttonKomponen Checkbutton berfungsi menampilkan sejumlah pilihan yang ditandai dengan tanda ‘centang’. Pengguna aplikasi dapat memilih lebih dari satu pilihan.
EntryKomponen Entry berfungsi menampilkan kotak teks satu-baris untuk menerima masukan dari pengguna.
FrameKomponen Frame berfungsi sebagai kontainer bagi komponen lain.
LabelKomponen Label berfungsi memberikan keterangan untuk komponen lain. Komponen ini juga dapat diisi gambar.
ListboxKomponen Listbox berfungsi menyediakan daftar pilihan untuk pengguna.
MenubuttonKomponen Menubutton berfungsi menampilkan menu.
MenuKomponen Menu berfungsi memberikan berbagai perintah kepada pengguna. Perintah-perintah ini juga tercantum dalam Menubutton.
MessageKomponen Message berfungsi menampilkan teks yang terdiri dari sejumlah baris untuk menerima beberapa nilai dari pengguna.
RadiobuttonKomponen Radiobutton berfungsi menampilkan sejumlah pilihan dalam bentuk tombol radio.
ScaleKomponen Scale berfungsi menampilkan skala geser.
ScrollbarKomponen Scrollbar berguna untuk menambahkan fungsi geser (scroll) pada beberapa komponen, seperti komponen Listbox.
TextKomponen Text berfungsi menampilkan teks dalam multi baris.
ToplevelKomponen Toplevel digunakan untuk membuat sebuah kontainer window yang terpisah.
Menambahkan Kode mainLoop
Setelah mendesain sebuah aplikasi, tentu saja dengan menambahkan beberapa komponen di dalamnya, maka perlu mengeksekusi program tersebut. Ketika sebuah program dieksekusi, maka program tersebut akan mengalami perputaran tak berhingga (infinite loop). Kode untuk memasukkan program kita dalam kondisi perputaran ini yaitu
Tkinter.mainloop()
Jika kita menggunakan from-import untuk mengambil semua fungsi pada Tkinter, cukup menuliskan
root.mainloop()
dengan root pada kode di atas mengacu pada window utama (toplevel). Berikut ini merupakan sebuah listing program untuk menampilkan sebuah window.
1
2
3
4
5
6
7
8
9
# file: winTk.py
import Tkinter
root = Tkinter.Tk()
# Kode untuk menambahkan komponen
root.mainloop()
bisa juga menuliskan kode di atas seperti ini,
1
2
3
4
5
6
7
8
9
# file: winTk1.py
from Tkinter import *
root = Tk()
# Kode untuk menambahkan komponen
root.mainloop()
Tampilan yang dihasilkan dari program di atas seperti berikut ini,


Contoh membuat window seperti terowongan di window tkinter

from tkinter import *

class Terowongan():
    def __init__(self):
        self.buatKanvas()
        self.buatTerowongan()
        
    def buatKanvas(self):
        self.kanvas = Canvas(width=200, height=100)
        self.kanvas.pack()
        
    def buatTerowongan(self):
        self.kanvas.create_rectangle(50, 20, 150, 80, fill="green")
        self.kanvas.create_rectangle(65, 35, 135, 65, fill="yellow")
        self.kanvas.create_line(0, 0, 50, 20, fill="green", width=3)
        self.kanvas.create_line(0, 100, 50, 80, fill="green", width=3)
        self.kanvas.create_line(150, 20, 200, 0, fill="green", width=3)
        self.kanvas.create_line(150, 80, 200, 100, fill="green", width=3)

Tk()
Terowongan()
mainloop()

hasil tampilannya :

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...