Tkinter

**Tkinter** adalah sebuah pengikat Python untuk peralatan GUI Tk. Tkinter merupakan antarmuka Python standar untuk peralatan GUI Tk, dan merupakan GUI standar de facto nya Python. Tkinter dimasukkan secara default  kedalam instalasi Python untuk Linux, Microsoft Windows dan Mac OS X.

Nama *Tkinter* berasal dari *Tk interface*. Tkinter ditulis oleh Steen Lumholt dan Guido van Rossum, dan kemudian direvisi oleh Fredrik Lundh.

Tkinter adalah perangkat lunak bebas yang dirilis dibawah lisensi Python.

## Deskripsi
Seperti kebanyakan binding Tk modern lainnya, Tkinter diimplementasikan sebagai pembungkus Python di sekitar interpreter Tcl lengkap yang tertanam dalam interpreter Python. Panggilan Tkinter diterjemahkan ke dalam perintah Tcl, yang diumpankan ke interpreter yang disematkan ini, sehingga memungkinkan untuk mencampur Python dan Tcl dalam satu aplikasi.

Ada beberapa pustaka GUI alternatif populer yang tersedia, seperti wxPython, PyQt, PySide, Pygame, Pyglet, dan PyGTK.

### Beberapa definisi

#### Window (Jendela)
Istilah ini memiliki arti yang berbeda dalam konteks yang berbeda, tetapi secara umum istilah ini mengacu pada area persegi panjang di suatu tempat pada layar tampilan pengguna.

#### Top-level window (Jendela tingkat atas)
Jendela yang bertindak sebagai anak dari jendela utama. Ini akan didekorasi dengan bingkai standar dan kontrol untuk manajer desktop. Ini dapat dipindahkan di sekitar desktop dan biasanya dapat diubah ukurannya.

#### Widget
Istilah umum untuk salah satu blok penyusun yang menyusun aplikasi dalam antarmuka pengguna grafis.

* Widget inti: Wadah: frame, labelframe, toplevel, panned window. Tombol: button, radiobutton, checkbutton (kotak centang), dan menubutton. Widget teks: label, message, teks. Entry widget: scale, scrollbar, listbox, slider, spinbox, entry (garis tunggal), menu opsi, teks (multiline), dan canvas (grafik vektor dan piksel).

* Tkinter menyediakan tiga modul yang memungkinkan dialog pop-up ditampilkan: tk.messagebox (dialog konfirmasi, informasi, peringatan dan kesalahan), tk.filedialog (file tunggal, banyak file dan dialog pemilihan direktori) dan tk.colorchooser (pemilih warna) .

* Python 2.7 dan Python 3.1 menggabungkan fungsionalitas "bertema Tk" ("ttk") dari Tk 8.5. Hal ini memungkinkan widget Tk dengan mudah bertema agar terlihat seperti lingkungan desktop asli tempat aplikasi berjalan, dengan demikian mengatasi kritik lama Tk (dan karenanya Tkinter). Beberapa widget eksklusif untuk ttk, seperti widget combobox, progressbar, dan treeview

#### Frame (Bingkai)
Di Tkinter, widget Frame adalah unit dasar organisasi untuk tata letak yang kompleks. Frame adalah area persegi panjang yang dapat berisi widget lain.

#### Child dan parent
Saat widget apa pun dibuat, hubungan induk-anak dibuat. Misalnya, jika Anda menempatkan label teks di dalam bingkai, bingkai tersebut adalah induk dari label tersebut.

## Contoh aplikasi
Berikut merupakan contoh aplikasi Tkinter sederhana Python3 dengan satu gawit:
```python
#!/usr/bin/env python3
from tkinter import *
root = Tk() 							# Create the root (base) window 
w = Label(root, text="Hello, world!") 	# Create a label with words
w.pack() 								# Put the label into the window
root.mainloop() 						# Start the event loop
```


* Baris 1: Arahan Hashbang ke peluncur program, memungkinkan pemilihan dari sebuah intepretasi yang dapat dieksekusi dengan sesuai, saat eksekusi sendiri.
* Baris 2: Mengimpor modul tkinter ke dalam ruang nama program Anda, tetapi dinamakan sebagai tk.
* Baris 3: Membuat antarmuka yang berperan sebagai cetak biru aplikasi.
* Baris 4: Menambahakan label teks pada aplikasi.
* Baris 6: Program utama dijalankan disini dengan menginisiasi class aplikasinya.

Untuk Python 2, satu-satunya perbedaan adalah kata "tkinter" di dalam perintah import yang dikapitalisasi menjadi "Tkinter".

## Lihat pula

* PySheds

## Referensi
 

## Pranala luar

* 
* Tkinter GUI Tutorial, membahas masing-masing gawit.
* 
* TkDocs: mencakup language-neutral dan informasi khusus Python dan tutorial
*