Mulai Membuat Aplikasi Desktop dengan Python Dengan Tkinter GUI Library

Mulai Membuat Aplikasi Desktop dengan Python Dengan Tkinter GUI Library

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.





windows tidak dapat secara otomatis mendeteksi pengaturan proxy jaringan ini windows 10

Pengaturan Tkinter

Biasanya, Anda tidak perlu menginstal tkinter secara terpisah jika Anda telah menginstal versi Python yang lebih baru, dimulai dengan Python 3. Pustaka 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 terbaru Python 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.

Untuk memulai dengan tkinter :





from tkinter import 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:

from tkinter import *
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.geometry('600x600')
t.title('Tk Tutorial')
t.mainloop()

Widget Label Tkinter

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

t = Tk()
Label(t, text = 'MUO Tkinter tutorial').grid()
t.mainloop()

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

Anda juga dapat menentukan font untuk Label teks:

t = Tk()
Label(t, text = 'MUO Tkinter tutorial', font=(60)).grid()
t.mainloop()

Bekerja Dengan Widget Tombol di Tkinter

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 Tombol widget:

t = Tk()
Button(t, text = 'Clickable', bg = 'black', fg = 'white').grid()
t.mainloop()

NS 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()
Button(t, text = 'Clickable', bg = 'black', fg = 'white', , ).grid()
t.mainloop()

Inilah output untuk itu:

jam tangan samsung 3 vs aktif 2

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

t = Tk()
Button(t, text='Clickable', bg='blue', fg='white',
height=2, width=10, relief=RAISED, borderwidth=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()
Button(t, text=1, bg='black', fg='white').grid(row=1, column=1)
Button(t, text=2, bg='black', fg='white').grid(row=2, column=1)
Button(t, text=3, bg='black', fg='white').grid(row=3, column=1)
Button(t, text=4, bg='black', fg='white').grid(row=4, column=1)
t.mainloop()

Sebuah opsional memerintah 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 buttonpress(r):
r = 6*r
Label(t, text=r, font=(60)).grid(row=5, column=2)
t = Tk()
Button(t, text = 1, bg = 'black', fg = 'white', width = 10, height = 2,
command = lambda:buttonpress(1)).grid(row=1, column = 1, pady = 6)
Button(t, text = 2, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(2)).grid(row = 2, column = 1, pady = 6)
Button(t, text = 3, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(3)).grid(row = 3, column = 1, pady = 6)
Button(t, text = 4, bg = 'black', fg = 'white', width = 10,
command = lambda:buttonpress(4)).grid(row = 4, column = 1, pady = 6)
t.mainloop()

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

Dan jika Anda khawatir tentang bantalan 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 buttonpress(r):
r = 6*r
Label(t, text = r, font = (60)).grid(row = 5, column = 2)
t = Tk()
a = [1, 4, 6, 7]
for i in a:
j = lambda y = i:buttonpress(y)
Button(t, text = i, bg = 'black', fg = 'white', width = 10, height = 2,
command=j).grid(row = i, column = 1, pady = 6)
t.mainloop()

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

from tkinter import *
t = Tk()
buttons = ['Files', 'Dashboard', 'Menu', 'Settings', 'Help']
m = 0
for i in range(len(buttons)):
# Get each text in the buttons array using a list index as m increases.
# Then let the column increase by 1 through the length of the array:

Menubutton(t, text=buttons[m], bg='blue', fg='white').grid(row=5, column=i)
m += 1
t.mainloop()

Menambahkan tombol centang ke GUI Anda juga cukup mudah:

t = Tk()
Checkbutton(t, text = 'Select option').grid()
t.mainloop()

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

Cara Membuat Menu Dropdown Dengan Widget Menu Tkinter

NS 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:

from tkinter import *
t = Tk()
fileOptions = ['New', 'open', 'Save', 'Save as']
fileOptionsAfterseparator = ['Import', 'Export', 'Exit']
viewOptions = ['Transform', 'Edit', 'Create']
menuBar = Menu(t)
file = Menu(menuBar, tearoff=0)
for i in fileOptions:
file.add_command(label=i, command=None)
file.add_separator()
for i in fileOptionsAfterseparator:
file.add_command(label=i, command=None)
menuBar.add_cascade(label='File', menu=file)
View = Menu(menuBar, tearoff=0)
for i in viewOptions:
View.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

NS 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() #set the variable type of the options
Omenu.set('MUO') #specify a default value for the menu icon
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.

bagaimana cara keluar dari netflix?

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.

Membagikan Membagikan Menciak 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 Idisou Omisola(94 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