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!

Python - GUI Programming

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:

  1. Kita import modul tkinter dan memberikan alias 'tk' untuk kemudahan.
  2. tk.Tk() mencipta jendela utama kita.
  3. Kita tetapkan tajuk jendela dengan root.title().
  4. Kita mencipta widget label dengan beberapa teks.
  5. Metode pack() menambah label kita ke jendela.
  6. 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