إنشاء واجهات المستخدم الرسومية (GUI) باستخدام tkinter في بايثون

Amine
15/09/2024

tkinter هي مكتبة الواجهة الرسومية القياسية في بايثون. تتيح لك إنشاء النوافذ، والحوار، وعناصر واجهة المستخدم المختلفة مثل الأزرار، والتسميات، وحقول النص. إنها طريقة رائعة لإنشاء تطبيقات سطح المكتب البسيطة.

إنشاء نافذة أساسية

لإنشاء نافذة أساسية باستخدام tkinter، تحتاج إلى استيراد وحدة tkinter، وإنشاء كائن Tk (النافذة الرئيسية)، وبدء حلقة الأحداث الرئيسية:

import tkinter as tk

# إنشاء النافذة الرئيسية
root = tk.Tk()
root.title("Simple GUI")

# تحديد حجم النافذة
root.geometry("300x200")

# تشغيل التطبيق
root.mainloop()

إضافة عناصر واجهة المستخدم

يمكنك إضافة عناصر واجهة المستخدم المختلفة إلى النافذة، مثل التسميات، والأزرار، وحقول النص. إليك كيفية إضافة تسمية وزر:

import tkinter as tk

def on_button_click():
    print("Button clicked!")

# إنشاء النافذة الرئيسية
root = tk.Tk()
root.title("Simple GUI")
root.geometry("300x200")

# إنشاء تسمية
label = tk.Label(root, text="Hello, Tkinter!")
label.pack()  # إضافة التسمية إلى النافذة

# إنشاء زر
button = tk.Button(root, text="Click Me", command=on_button_click)
button.pack()  # إضافة الزر إلى النافذة

root.mainloop()

tk.Label(): ينشئ عنصر تسمية.

tk.Button(): ينشئ عنصر زر. المعامل command يحدد دالة يتم استدعاؤها عند النقر على الزر.

.pack(): يضيف عنصر واجهة المستخدم إلى النافذة.

إنشاء تخطيطات

يمكنك ترتيب عناصر واجهة المستخدم في النافذة باستخدام مديري التخطيط المختلفين: pack، grid، وplace. يتيح لك مدير التخطيط grid وضع العناصر في بنية تشبه الجدول:

import tkinter as tk

# إنشاء النافذة الرئيسية
root = tk.Tk()
root.title("Grid Layout")
root.geometry("300x200")

# إنشاء ووضع عناصر باستخدام grid
label1 = tk.Label(root, text="Row 0, Column 0")
label1.grid(row=0, column=0)

label2 = tk.Label(root, text="Row 0, Column 1")
label2.grid(row=0, column=1)

button = tk.Button(root, text="Click Me")
button.grid(row=1, column=0, columnspan=2)  # التمدد عبر عمودين

root.mainloop()

.grid(row, column): يضع عنصر واجهة المستخدم في الصف والعمود المحددين.

columnspan: يسمح لعنصر واجهة المستخدم بالتمدد عبر أعمدة متعددة.

التمارين

التمرين 1: أنشئ نافذة tkinter تحتوي على تسمية تعرض “Welcome to My App” وزر يطبع “Hello, World!” عند النقر عليه.

import tkinter as tk

def say_hello():
    print("Hello, World!")

root = tk.Tk()
root.title("My App")
root.geometry("300x200")

label = tk.Label(root, text="Welcome to My App")
label.pack()

button = tk.Button(root, text="Say Hello", command=say_hello)
button.pack()

root.mainloop()

التمرين 2: أنشئ نافذة tkinter تحتوي على زرين مسميين “Start” و”Stop”. عند النقر على “Start”، يطبع “Started”؛ وعند النقر على “Stop”، يطبع “Stopped”.

import tkinter as tk

def start():
    print("Started")

def stop():
    print("Stopped")

root = tk.Tk()
root.title("Start and Stop")
root.geometry("300x200")

start_button = tk.Button(root, text="Start", command=start)
start_button.pack()

stop_button = tk.Button(root, text="Stop", command=stop)
stop_button.pack()

root.mainloop()

التمرين 3: أنشئ نافذة tkinter تحتوي على حقل إدخال نص وزر. عند النقر على الزر، اطبع النص المدخل في الحقل.

import tkinter as tk

def show_text():
    entered_text = entry.get()
    print(f"Entered text: {entered_text}")

root = tk.Tk()
root.title("Text Entry")
root.geometry("300x200")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Show Text", command=show_text)
button.pack()

root.mainloop()

أحسنت! لقد تعلمت كيفية إنشاء واجهات مستخدم رسومية أساسية باستخدام tkinter، بما في ذلك إضافة التسميات والأزرار وترتيب العناصر باستخدام التخطيطات. هذه المعرفة تتيح لك إنشاء تطبيقات سطح المكتب التفاعلية.

التعليقات

اترك تعليقاً