Python ialah bahasa pengaturcaraan serba boleh yang boleh digunakan untuk melaksanakan pelbagai jenis aplikasi. Ia mempunyai banyak jenis modul untuk mencipta aplikasi berasaskan GUI (Antara Muka Pengguna Grafik). Python tkinter adalah salah satu daripadanya. Sebarang aplikasi desktop boleh dilaksanakan dengan mudah menggunakan modul tkinter. Adalah lebih baik jika anda mempunyai pengetahuan asas tentang pengaturcaraan Python untuk mempelajari penggunaan modul Python tkinter. Penggunaan modul Python tkinter yang berbeza untuk mencipta aplikasi GUI ditunjukkan dalam tutorial ini.
Pasang Modul Tkinter
Modul tkinter tidak dipasang pada Python secara lalai. Jadi, anda perlu menjalankan arahan berikut untuk memasang modul tkinter dalam versi Python 3+:
$ sudo apt pasang python3-tk
Widget Tkinter yang berbeza
Modul tkinter mengandungi pelbagai widget untuk pelbagai tujuan.
Nama Widget | Tujuan |
Label | Ia digunakan untuk memaparkan mesej bantuan untuk pengguna. |
Butang | Ia digunakan untuk menambah butang yang berbeza dalam aplikasi. |
Bingkai | Ia berfungsi seperti bekas widget yang mengandungi pelbagai jenis widget untuk mereka bentuk bentuk yang teratur. |
Kemasukan | Ia digunakan untuk mengambil teks satu baris daripada pengguna. |
Butang semak | Ia digunakan untuk menambah butang kotak semak untuk mengambil berbilang input daripada pengguna daripada berbilang pilihan. |
Butang radio | Ia digunakan untuk menambah butang radio untuk mengambil satu input daripada pengguna daripada berbilang pilihan. |
Butang combobox | Ia digunakan untuk menambah senarai lungsur turun untuk mengambil satu input daripada pengguna daripada berbilang pilihan. |
ListBox | Ia digunakan untuk menambah kotak senarai untuk mengambil berbilang input daripada pengguna daripada berbilang pilihan. |
Teks | Ia digunakan untuk mengambil teks berbilang baris daripada pengguna. |
Mesej | Ia digunakan untuk memaparkan tetingkap mesej untuk pengguna. |
Bar skrol | Ia digunakan untuk menambah bar skrol dalam tetingkap untuk menatal tetingkap ke atas dan ke bawah. |
Menubutton | Ia digunakan untuk memaparkan menu kepada pengguna. |
Menu | Ia digunakan untuk memaparkan item menu kepada pengguna. |
PanedWindow | Ia berfungsi seperti bekas widget yang mengandungi anak tetingkap mendatar dan menegak. |
Tab | Ia digunakan untuk menambah tetingkap tab dalam aplikasi. |
Contoh Tkinter yang berbeza
Penggunaan beberapa widget tkinter biasa ditunjukkan dalam contoh berikut.
Contoh 1: Cipta Aplikasi GUI Mudah
Buat fail Python dengan kandungan berikut yang memaparkan kotak dialog di tengah skrin dengan tajuk dan ketinggian dan lebar tertentu:
#Import Modul yang diperlukan
daripada import tkinter *
#Buat objek untuk tetingkap
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Belajar modul tkinter' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '300x150' )
#Tetapkan kedudukan paparan tetingkap secara berpusat
tkobj.eval ( 'tk::PlaceWindow . pusat' )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip. Kotak dialog dengan tajuk 'Belajar modul tkinter' dipaparkan:
Contoh 2: Penggunaan Label dan Butang
Buat fail Python dengan skrip berikut yang memaparkan tetingkap dengan label dan kotak dialog:
#Import Modul yang diperlukandaripada import tkinter *
#Buat objek untuk tetingkap
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Belajar modul tkinter' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '400x150' )
#Tentukan objek label
lbl = Label ( tkobj, teks = 'Ia adalah tingkap yang mudah' )
#Tambah label pada tetingkap
lbl.pack ( ipadx = 30 , ipad = dua puluh )
#Tentukan objek butang
btn = Butang ( tkobj, teks = 'Klik saya' )
#Tambah butang pada tetingkap dengan kedudukan
btn.pack ( ipadx = 30 , ipad = 10 )
#Tetapkan kedudukan paparan tetingkap secara berpusat
tkobj.eval ( 'tk::PlaceWindow . pusat' )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Tetingkap dengan label dan butang muncul di tengah-tengah skrin selepas melaksanakan skrip.
Contoh 3: Tetapkan Warna Fon dan Warna Latar Belakang
Cipta fail Python dengan skrip berikut yang memaparkan tetingkap dengan label dan butang berwarna-warni. Di sini, atribut latar belakang digunakan untuk menetapkan warna latar belakang butang dan atribut latar depan digunakan untuk menetapkan warna fon butang:
#Import Modul yang diperlukandaripada import tkinter *
#Buat objek untuk tetingkap
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Belajar modul tkinter' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '400x150' )
#Tentukan objek label
lbl = Label ( tkobj, teks = 'Tetapkan latar belakang dan warna latar depan' )
#Tambah label pada tetingkap
lbl.pack ( ipadx = 30 , ipad = dua puluh )
#Tentukan objek butang dengan latar belakang dan warna latar depan
btn = Butang ( tkobj, teks = 'Klik saya' , latar belakang = 'biru' , latar depan = 'merah' )
#Tambah butang pada tetingkap dengan kedudukan
btn.pack ( ipadx = 30 , ipad = 8 )
#Tetapkan kedudukan paparan tetingkap secara berpusat
tkobj.eval ( 'tk::PlaceWindow . pusat' )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Tetingkap berikut muncul selepas melaksanakan skrip:
Contoh 4: Penggunaan Bingkai
Dalam skrip Python berikut, label dan dua butang ditunjukkan dalam widget bingkai. Buat fail Python dengan skrip untuk menyemak output:
#Import Modul yang diperlukandaripada import tkinter *
#Buat objek untuk tetingkap
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Modul tkinter' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '250x100' )
#Tentukan objek bingkai
frm = Bingkai ( tkobj )
frm.pack ( )
lframe = Bingkai ( tkobj )
lframe.pack ( sebelah =KIRI )
rframe = Bingkai ( tkobj )
rframe.pack ( sebelah =BETUL )
#Tentukan label di dalam bingkai
lbl = Label ( frm, teks = 'Penggunaan Bingkai' , fg = 'biru' )
lbl.pack ( )
#Tentukan butang di dalam bingkai
btn1 = Butang ( lframe, teks = '' , fg = 'hitam' , bg = 'putih' )
btn2.pack ( sebelah =BETUL )
#Tetapkan kedudukan paparan tetingkap secara berpusat
tkobj.eval ( 'tk::PlaceWindow . pusat' )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip:
Contoh 5: Kendalikan Acara Butang
Penggunaan kotak mesej ditunjukkan dalam skrip berikut. Kotak mesej dipaparkan apabila butang diklik:
#Import Modul yang diperlukandaripada import tkinter *
daripada kotak mesej import tkinter
#Buat objek untuk tetingkap
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Belajar modul tkinter' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '400x150' )
#Tentukan fungsi untuk memaparkan kotak mesej
paparan def ( ) :
messagebox.showinfo ( 'Maklumat' , 'Butang diklik.' )
#Buat teks label dengan warna fon, gaya dan kedudukan
Label ( tkobj, teks = 'Aplikasi desktop menggunakan tkinter.' , fg = 'hijau' ) .pek ( padi = 25 )
#Buat butang dengan pengendali butang
Butang ( tkobj, teks = 'Tunjukkan Mesej' , perintah = paparan ) .pek ( )
#Tetapkan kedudukan paparan tetingkap secara berpusat
tkobj.eval ( 'tk::PlaceWindow . pusat' )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Tetingkap berikut muncul selepas melaksanakan skrip:
Kotak mesej berikut muncul selepas menekan butang:
Contoh 6: Ambil Input daripada Pengguna
Berbilang widget tersedia dalam modul tkinter untuk mengambil input daripada pengguna. Penggunaan widget yang paling biasa ditunjukkan dalam skrip berikut. Buat fail Python dengan kod berikut untuk menyemak output:
#Import Modul yang diperlukandaripada import tkinter *
daripada tkinter.ttk import Combobox
dari tkinter import ttk
import tkinter sebagai tk
daripada kotak mesej import tkinter
#Buat objek tkinter
tkobj = Tk ( )
#Tetapkan tajuk tetingkap
tkobj.title ( 'Borang Maklumat Pengguna' )
#Tetapkan ketinggian dan lebar tetingkap
tkobj.geometri ( '550x320' )
#Tentukan fungsi untuk memaparkan nilai borang
def paparan_nilai ( ) :
#Baca teks satu baris
nama = 'Nama: ' + name_val.get ( ) + ' \n '
#Baca nilai butang radio yang dipilih
jika jantina.dapat ( ) == 1 :
g = 'Lelaki'
lain:
g = 'Perempuan'
g = 'Jantina:' + g + ' \n '
#Baca nilai kotak pilihan yang dipilih
permainan = ''
jika g1.dapat ( ) == 1 :
permainan = 'Kerik'
jika g2.dapat ( ) == 1 :
jika permainan ! = '' :
permainan += ',' + 'Bola sepak'
lain:
permainan = 'Bola sepak'
jika g3.dapat ( ) == 1 :
jika permainan ! = '' :
permainan += ',' + 'Bola keranjang'
lain:
permainan = 'Bola keranjang'
permainan = 'Permainan:' + permainan + ' \n '
#Baca nilai kotak kombo
negara = 'Negara :' + countryVal.get ( ) + ' \n '
#Baca teks berbilang baris
alamat = 'Alamat : ' + addr.get ( '1.0' , 'akhir' ) + ' \n '
#Gabungkan semua nilai yang diambil oleh medan
form_values = nama + g + permainan + negara + alamat
#Paparkan nilai dalam kotak mesej
messagebox.showinfo ( 'Butiran Maklumat Pengguna' , nilai_bentuk )
#Buat label dan medan nama
Label ( tkobj, teks = 'Nama: ' ) .tempat ( x = 100 , dan = dua puluh )
name_val = StringVar ( )
ttk.Kemasukan ( tkobj, pembolehubah teks =name_val ) .pek ( padx = 220 , padi = dua puluh )
#Buat label dan butang radio
Label ( tkobj, teks = 'Jantina:' ) .tempat ( x = 100 , dan = 60 )
jantina = IntVar ( )
jantina.set ( 1 )
Butang radio ( tkobj, teks = 'Lelaki' , pembolehubah = jantina, nilai = 1 ) .tempat ( x = 210 , dan = 60 )
Butang radio ( tkobj, teks = 'Perempuan' , pembolehubah = jantina, nilai = 2 ) .tempat ( x = 290 , dan = 60 )
#Buat label dan butang kotak semak
Label ( tkobj, teks = 'Permainan kegemaran: ' ) .tempat ( x = 100 , dan = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Butang semak ( tkobj, teks = 'Kerik' , pembolehubah =g1 ) .tempat ( x = 210 , dan = 100 )
Butang semak ( tkobj, teks = 'Bola sepak' , pembolehubah =g2 ) .tempat ( x = 290 , dan = 100 )
Butang semak ( tkobj, teks = 'Bola keranjang' , pembolehubah =g3 ) .tempat ( x = 380 , dan = 100 )
#Tentukan nilai tuple
data = ( 'Bangladesh' , 'Jepun' , 'USA' )
#Buat label dan kotak kombo
Label ( tkobj, teks = 'Negara :' ) .tempat ( x = 100 , dan = 140 )
countryVal = StringVar ( )
Kotak kombo ( tkobj, nilai =data, pembolehubah teks =countryVal ) .tempat ( x = 220 , dan = 140 )
#Buat label dan medan teks
Label ( tkobj, teks = 'Alamat : ' ) .tempat ( x = 100 , dan = 180 )
addr = ( tk.Teks ( tkobj, ketinggian = 3 , lebar = dua puluh ) )
addr.place ( x = 220 , dan = 180 )
#Buat butang dengan pengendali butang
Butang ( tkobj, teks = 'Serah' , perintah = display_values ) .tempat ( x = 250 , dan = 250 )
#Jalankan Tkinter
tkobj.mainloop ( )
Pengeluaran:
Tetingkap berikut muncul selepas melaksanakan skrip:
Isi ruangan borang dan tekan butang 'Serah'.
Kotak mesej berikut dengan nilai yang diserahkan akan muncul:
Kesimpulan
Kaedah menggunakan modul Python tkinter untuk mencipta aplikasi GUI ditunjukkan dalam tutorial ini menggunakan berbilang contoh.