Contoh Python Tkinter

Contoh Python Tkinter



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 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 ( '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 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 ( '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 diperlukan
daripada 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 diperlukan
daripada 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 diperlukan
daripada 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.