Tkinter adalah toolkit Graphical User Interface (GUI) yang harus Anda coba jika Anda ingin menjelajahi kekuatan Python dalam membuat aplikasi desktop.

Di sini, kita melihat dasar-dasar modul GUI Tkinter.

Pengaturan Tkinter

Biasanya, Anda tidak perlu menginstal tkinter secara terpisah jika Anda telah menginstal versi Python yang lebih baru, dimulai dengan Python 3. Perpustakaan mungkin tidak berfungsi dengan versi Python lama. Ini adalah masalah umum bagi pengguna Mac dan Linux, karena OS ini biasanya datang dengan versi Python yang lebih lama secara default.

Umumnya, untuk menggunakan tkinter modul, pastikan Anda mengunduh dan menginstal versi Python terbaru yang kompatibel di PC Anda dari yang resmi python.org situs web.

Jika Anda menggunakan Mac, sebagai alternatif, Anda dapat mengunduh versi terbaru ActiveTcl, a tkinter kompiler dari Status Aktif.

Cara Menggunakan Tkinter

Tkinter bergantung pada bawaannya TK kelas. Dan itu membungkus semua acara di dalam GUI dalam mainloop. Dengan demikian, mainloop pembungkus membuat Anda tkinter kode yang dapat dieksekusi.

instagram viewer

Untuk memulai dengan tkinter:

dari tkinter impor Tk
Tk().mainloop()

Menjalankan kode di atas menghasilkan yang kosong tkinter bingkai.

Namun, fitur penyesuaian Tkinter ada di widget bawaannya.

Untuk menggunakan widget ini, Anda dapat mengimpornya dari tkinter dengan mengganti dari tkinter impor Tk dengan:

dari impor tkinter *
t = Tk()
t.mainloop()

Anda juga dapat menyesuaikan ukuran Jendela dengan geometri fungsi dan kemudian tentukan judul menggunakan judul widget dari tkinter:

t = Tk()
t.geometri("600x600")
t.title("Tutorial Tk")
t.mainloop()

Tkinter memungkinkan Anda menulis teks biasa langsung ke GUI menggunakan Label widget:

t = Tk()
Label (t, teks = "tutorial MUO Tkinter").grid()
t.mainloop()

Itu kisi() metode, bagaimanapun, adalah alternatif untuk Pak() metode. Itu menempelkan widget Anda ke GUI, membuatnya terlihat.

Anda juga dapat menentukan font untuk Label teks:

t = Tk()
Label (t, teks = "tutorial MUO Tkinter", font=(60)).grid()
t.mainloop()

Tombol adalah beberapa widget yang paling sering digunakan di tkinter. Dan Anda dapat menambahkan tombol yang dapat diklik ini ke GUI Anda menggunakan berbagai widget tombol bawaan.

Berikut cara menambahkan tombol utama ke GUI Anda menggunakan using Tombol widget:

t = Tk()
Tombol (t, teks = "Dapat diklik", bg = "hitam", fg = "putih").grid()
t.mainloop()

Itu bg dan fg kata kunci menggambarkan warna latar belakang tombol dan warna teks di dalamnya masing-masing.

Anda juga dapat menyesuaikan dimensi tombol dengan menyertakan tinggi dan lebar parameter:

t = Tk()
Tombol (t, teks = "Dapat diklik", bg = "hitam", fg = "putih", tinggi="2", lebar="10").grid()
t.mainloop()

Inilah output untuk itu:

Dan jika Anda ingin membuat tombol lebih menarik secara visual, Anda dapat menyertakan a bantuan kata kunci dan kemudian sesuaikan lebar perbatasannya:

t = Tk()
Tombol (t, teks="Dapat diklik", bg="biru", fg="putih",
tinggi=2, lebar=10, relief=DIBANGKIT, lebar tepi=6).grid()
t.mainloop()

Dan itu terlihat seperti ini:

Mengganti DIBESARKAN dengan DATAR untuk melihat bagaimana hal itu terjadi.

Anda dapat menambahkan tombol sebanyak yang Anda suka. Tapi Anda berhati-hati untuk menghindari konten yang tumpang tindih.

Untuk menghindari tumpang tindih, Anda dapat menentukan posisi baris dan kolom untuk setiap tombol:

t = Tk()
Tombol (t, teks=1, bg="hitam", fg="putih").grid (baris=1, kolom=1)
Tombol (t, teks=2, bg="hitam", fg="putih").grid (baris=2, kolom=1)
Tombol (t, teks=3, bg="hitam", fg="putih").grid (baris=3, kolom=1)
Tombol (t, teks=4, bg="hitam", fg="putih").grid (baris=4, kolom=1)
t.mainloop()

Sebuah opsional perintah kata kunci, bagaimanapun, menambahkan acara ke Tombol widget. Intinya, ini menjangkar fungsi opsional yang menangani peristiwa tertentu saat Anda mengklik tombol.

Kode di bawah ini, misalnya, mengalikan nilai setiap tombol dengan 6 saat Anda mengkliknya. Dan itu didasarkan pada fungsi yang telah ditentukan sebelumnya:

def menekan tombol (r):
r = 6*r
Label (t, teks=r, font=(60)).kisi (baris=5, kolom=2)
t = Tk()
Tombol (t, teks = 1, bg = "hitam", fg = "putih", lebar = 10, tinggi = 2,
command = lambda: buttonpress (1)).grid (baris=1, kolom = 1, pady = 6)
Tombol (t, teks = 2, bg = "hitam", fg = "putih", lebar = 10,
command = lambda: buttonpress (2)).grid (baris = 2, kolom = 1, pady = 6)
Tombol (t, teks = 3, bg = "hitam", fg = "putih", lebar = 10,
command = lambda: buttonpress (3)).grid (baris = 3, kolom = 1, pady = 6)
Tombol (t, teks = 4, bg = "hitam", fg = "putih", lebar = 10,
command = lambda: buttonpress (4)).grid (baris = 4, kolom = 1, pady = 6)
t.mainloop()

Dalam kode di atas, tekan tombol menangani acara perkalian. Itu Tombol widget kemudian menunjuk ke event handler itu menggunakan anonim lambda fungsi.

Dan jika Anda khawatir tentang padi kata kunci, dengan jelas memisahkan setiap tombol di sepanjang baris. Mengganti ini dengan padx memisahkan tombol di seluruh kolom. Dan Anda dapat menggunakan kedua kata kunci secara bersamaan untuk memisahkan tombol di kedua sumbu sesuai keinginan.

Yang mengatakan, Anda tidak ingin menemukan kembali roda untuk setiap tombol seperti yang Anda lakukan pada kode sebelumnya. Ini memperlambat waktu eksekusi, ditambah lagi membuat kode Anda sulit dibaca dan dipersempit.

Tapi kamu bisa gunakan perulangan for untuk menghindari pengulangan ini.

Jadi, inilah versi yang lebih pendek dan lebih baik dari kode di atas:

def menekan tombol (r):
r = 6*r
Label (t, teks = r, font = (60)). kisi (baris = 5, kolom = 2)
t = Tk()
a = [1, 4, 6, 7]
untuk saya dalam:
j = lambda y = i: tekan tombol (y)
Tombol (t, teks = i, bg = "hitam", fg = "putih", lebar = 10, tinggi = 2,
command=j).grid (baris = i, kolom = 1, pady = 6)
t.mainloop()

Tombol Menu dan Tombol Centang

Mari kita jelajahi lebih lanjut kekuatan untuk loop untuk menambahkan tombol menu ke GUI Anda:

dari impor tkinter *
t = Tk()
tombol = ["File", "Dasbor", "Menu", "Pengaturan", "Bantuan"]
m = 0
untuk i dalam jangkauan (len (tombol)):
# Dapatkan setiap teks dalam larik tombol menggunakan indeks daftar saat m meningkat.
# Kemudian biarkan kolom bertambah 1 melalui panjang array:

Tombol Menu (t, teks=tombol[m], bg="biru", fg="putih").grid (baris=5, kolom=i)
m + = 1
t.mainloop()

Menambahkan tombol centang ke GUI Anda juga cukup mudah:

t = Tk()
Tombol centang (t, teks = "Pilih opsi").grid()
t.mainloop()

Jangan ragu untuk melipatgandakan tombol centang itu menggunakan untuk lingkaran, seperti yang kita lakukan sebelumnya.

Itu Tidak bisa widget memungkinkan Anda mendesain menu tarik-turun yang dapat diklik di tkinter.

Seperti yang dinyatakan sebelumnya, tkinter menawarkan banyak opsi widget. Dan Anda akan menggunakan beberapa di antaranya saat mendesain menu tarik-turun.

Berikut adalah beberapa opsi widget umum yang akan Anda temui saat membuat dropdown:

  • tambahkan_kaskade: Ini menampilkan label menu dan menempelkannya di tempatnya.
  • tambahkan_pemisah: Ini membatasi submenu dan mengelompokkannya ke dalam submenu atas dan bawah.
  • tambahkan_perintah: Di sinilah Anda memberi nama submenu Anda. Pada akhirnya, ia menerima argumen perintah di mana Anda dapat menentukan event handler.

Berikut adalah contoh dropdown yang menggunakan tiga opsi ini:

dari impor tkinter *
t = Tk()
fileOptions = ["Baru", "buka", "Simpan", "Simpan sebagai"]
fileOptionsAfterseparator = ["Impor", "Ekspor", "Keluar"]
viewOptions = ["Transformasi", "Edit", "Buat"]
menuBar = Menu (t)
file = Menu (menuBar, tearoff=0)
untuk saya di fileOptions:
file.add_command (label=i, command=None)
file.add_separator()
untuk saya di fileOptionsAfterseparator:
file.add_command (label=i, command=None)
menuBar.add_cascade (label="File", menu=file)
Lihat = Menu (menuBar, tearoff=0)
untuk saya di viewOptions:
Lihat.add_command (label=i, command=None)
menuBar.add_cascade (label="View", menu=View)
t.config (menu=menuBar)
t.mainloop()

Lihat bagaimana tampilannya:

Menu Opsi Tkinter

Sebuah menu pilihan, tidak seperti Tidak bisa dropdown, mengalihkan labelnya ke opsi yang dipilih.

Meskipun Anda dapat menentukan nilai label default untuk menu opsi, itu tidak memiliki label secara default.

Terkait: Ide Proyek Python Cocok untuk Pemula

Berikut cara membuat menu pilihan di tkinter:

t = Tk()
Omenu = StringVar() #mengatur tipe variabel dari opsi
Omenu.set("MUO") #tentukan nilai default untuk ikon menu
OptionMenu (t, Omenu, "MUO", "Amazon", "Tutorial").grid()
t.mainloop()

Bangun Aplikasi Desktop yang Dapat Digunakan Kembali Dengan Tkinter

Tkinter menawarkan serangkaian fitur yang membantu Anda membuat aplikasi desktop GUI interaktif. Meskipun mungkin tidak memiliki banyak fitur mempercantik yang fleksibel seperti beberapa modul GUI Python lainnya, ini masih merupakan alat yang berguna yang perlu ditelusuri. Dan sementara contoh di sini hanya menunjukkan beberapa konsep dasar, tkinter menawarkan fitur yang lebih canggih yang dapat Anda coba.

Meskipun demikian, Anda dapat membuat kalkulator desktop GUI, membuat editor teks mini, atau bahkan membuat aplikasi desktop GUI untuk mengelola inventaris Anda. Jika Anda ingin melebarkan sayap dan menjadi jurusan GUI desktop, Anda bahkan dapat melihat modul GUI Python lainnya.

Surel
GUI? Apa itu Antarmuka Pengguna Grafis?

Apakah Anda menggunakan GUI? Kemungkinan Anda memilikinya karena Anda menggunakannya setiap hari.

Baca Selanjutnya

Topik-topik yang berkaitan
  • Pemrograman
  • Python
Tentang Penulis
Idowu Omisola (88 Artikel Diterbitkan)

Idowu sangat menyukai teknologi dan produktivitas yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

More From Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan