Python - Pengaturcaraan GUI: Panduan untuk Pemula dalam Membuat Antaramuka Grafik Pengguna
Helo di sana, pemula yang berhasrat! Anda siap untuk melakukan perjalanan yang menarik ke atas dunia pengaturcaraan GUI Python? Sebagai guru komputer yang mesra di kampung anda, saya di sini untuk membimbing anda melalui wilayah yang menarik dalam pembuatan antaramuka grafik menggunakan Python. Jangan khawatir jika anda belum pernah menulis satu baris kod sebelum ini – kita akan mula dari asas dan kerjakan ke atas. Jadi, rakamkan satu gelas minuman kesukaan anda, dapatkan yang selesa, dan mari kita melompat!
Pengaturcaraan Tkinter: Gerbang Anda ke Pembuatan GUI
Apa itu Tkinter?
Tkinter adalah seperti rakit penyelamat Swiss Army bagi pengaturcaraan GUI Python. Ia adalah modul built-in yang dipasang secara pra-pasang dengan Python, membuat ia sangat mudah untuk dimulakan. Pernahkan pikirkan Tkinter sebagai rakit penyelamat anda yang dapat dipercayai untuk membina jendela, butang, kotak teks, dan semua jenis elemen interaktif dalam program anda.
Program Tkinter Pertama Anda
Mari kita mula dengan contoh yang simple untuk mencoba tangan:
import tkinter as tk
root = tk.Tk()
root.title("GUI Pertama Saya")
label = tk.Label(root, text="Helo, Tkinter!")
label.pack()
root.mainloop()
Mari kita kongsi ini:
- Kita import modul tkinter dan memberikan alias 'tk' untuk kemudahan.
-
tk.Tk()
mencipta jendela utama kita. - Kita tetapkan tajuk jendela dengan
root.title()
. - Kita mencipta widget label dengan beberapa teks.
- Metode
pack()
menambah label kita ke jendela. - Akhirnya,
mainloop()
memulakan loop peristiwa, yang menjaga jendela kita terbuka dan responsif.
Jalankan kod ini, dan voilà! Anda baru saja mencipta aplikasi GUI pertama anda. Cantik kan?
Tkinter Widgets: Blok Bangunan Antaramuka Anda
Widgets adalah elemen individu yang membentuk GUI anda. Mereka adalah seperti blok LEGO bagi desain antaramuka. Mari kita eksplor beberapa widget yang umum:
Butang
Butang adalah mungkin widget yang paling dikenali. Ini cara untuk mencipta satu:
import tkinter as tk
def button_click():
print("Butang diklik!")
root = tk.Tk()
button = tk.Button(root, text="Klik saya!", command=button_click)
button.pack()
root.mainloop()
Dalam contoh ini, kita telah mencipta butang yang akan mencetak mesej apabila diklik. Parameter command
menghubungkan butang ke fungsi button_click
.
Widget Masukan
Widget masukan membenarkan pengguna untuk memasukkan teks:
import tkinter as tk
root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
root.mainloop()
Ini mencipta medan masukan teks simple. Anda boleh mendapatkan teks dengan entry.get()
.
Atribut Standar: Mengubahsuai Widget Anda
Widgets memiliki berbagai jenis atribut yang anda boleh ubahsuai. Berikut adalah beberapa yang umum:
Atribut | Keterangan | Contoh |
---|---|---|
bg |
Warna latar belakang | button = tk.Button(root, text="Klik", bg="biru") |
fg |
Warna (teks) latar depan | label = tk.Label(root, text="Helo", fg="merah") |
font |
Fon dan saiz teks | label = tk.Label(root, text="Besar", font=("Arial", 20)) |
width |
Lebar widget | entry = tk.Entry(root, width=30) |
height |
Ketinggian widget | text = tk.Text(root, height=5) |
Pengurusan Geometri: Mengatur Widget di atas Jendela
Tkinter menawarkan tiga pengurus geometri utama untuk mengatur widget di atas jendela anda:
Pack
Kami telah melihat pack()
beraksi. Ia adalah cara termudah untuk menambah widget:
import tkinter as tk
root = tk.Tk()
label1 = tk.Label(root, text="Pertama")
label2 = tk.Label(root, text="Kedua")
label1.pack()
label2.pack()
root.mainloop()
Ini menumpuk widget secara menegak.
Grid
Grid membenarkan penempatan yang lebih tepat:
import tkinter as tk
root = tk.Tk()
label1 = tk.Label(root, text="Nama:")
entry1 = tk.Entry(root)
label2 = tk.Label(root, text="Kata Laluan:")
entry2 = tk.Entry(root, show="*")
label1.grid(row=0, column=0)
entry1.grid(row=0, column=1)
label2.grid(row=1, column=0)
entry2.grid(row=1, column=1)
root.mainloop()
Ini mencipta bentuk login simple dengan label dan masukan yang sejajar dalam grid.
Place
Place memberikan anda kawalan absolut atas penempatan widget:
import tkinter as tk
root = tk.Tk()
button = tk.Button(root, text="Butang di Tengah")
button.place(relx=0.5, rely=0.5, anchor="center")
root.mainloop()
Ini meletakkan butang di atas tengah jendela.
SimpleDialog: Dialog Cepat dan Mudah
SimpleDialog adalah great untuk mencipta dialog pop-up cepat:
from tkinter import simpledialog
result = simpledialog.askstring("Masukan", "Apa nama anda?")
print(f"Helo, {result}!")
Ini mencipta kotak dialog yang meminta nama pengguna.
Modul FileDialog: Bekerja dengan Fail
FileDialog membantu anda mencipta dialog buka dan simpan fail:
from tkinter import filedialog
file_path = filedialog.askopenfilename()
print(f"Anda pilih: {file_path}")
Ini membuka dialog pemilihan fail dan mencetak laluan fail yang dipilih.
Modul ttk: Widget Bertheme
Modul ttk menawarkan widget bertheme yang terlihat lebih modern:
from tkinter import ttk
root = tk.Tk()
button = ttk.Button(root, text="Butang Bertheme")
button.pack()
root.mainloop()
Widget Combobox
Combobox adalah gabungan antara masukan dan senarai dropdown:
from tkinter import ttk
root = tk.Tk()
combo = ttk.Combobox(root, values=["Pilihan 1", "Pilihan 2", "Pilihan 3"])
combo.pack()
root.mainloop()
Progressbar
Progressbar adalah great untuk menunjukkan kemajuan kerja:
from tkinter import ttk
root = tk.Tk()
progress = ttk.Progressbar(root, length=200, mode='determinate')
progress.pack()
progress['value'] = 50 # Tetapkan kemajuan ke 50%
root.mainloop()
Sizegrip
Sizegrip membenarkan pengguna untuk mengubah saiz jendela:
from tkinter import ttk
root = tk.Tk()
sizegrip = ttk.Sizegrip(root)
sizegrip.pack(side="right", anchor="se")
root.mainloop()
Separator
Separator digunakan untuk memisahkan secara visual widget:
from tkinter import ttk
root = tk.Tk()
label1 = tk.Label(root, text="Di atas")
separator = ttk.Separator(root, orient='horizontal')
label2 = tk.Label(root, text="Di bawah")
label1.pack()
separator.pack(fill='x')
label2.pack()
root.mainloop()
Dan itu lah! Kita telah melカkan asas pengaturcaraan GUI Python menggunakan Tkinter. Ingat, latihan membuatkan yang sempurna, jadi jangan takut untuk untuk eksperimen dan mencipta GUI anda sendiri. Siapa tahu? Projek anda yang akan datang mungkin adalah aplikasi besar yang semua orang berbicara tentang!
Happy coding, penyihir GUI masa depan! ?♂️??
Credits: Image by storyset