كيفية إنشاء تطبيقات سطح المكتب باستخدام PySide في Python
تمت الكتابة بواسطة: adel
تارخ آخر تحديث: 21 نوفمبر 2024محتوى المقال
تعد مكتبة PySide
إحدى الأدوات القوية لإنشاء تطبيقات سطح المكتب بواجهة رسومية في Python. توفر PySide
مجموعة من الأدوات التي تتيح لك بناء واجهات مستخدم رسومية (GUI) غنية ومرنة. في هذا المقال، سنستعرض كيفية البدء مع PySide
لإنشاء تطبيقات سطح المكتب، بالإضافة إلى مثال عملي لإنشاء تطبيق بسيط.
ما هي مكتبة PySide؟
PySide
هي مكتبة Python تربط بين لغة البرمجة Python وإطار العمل Qt، الذي يُستخدم لإنشاء تطبيقات بواجهات رسومية. تُعرف PySide
أيضًا باسم "Qt for Python" وتتيح للمطورين استخدام Qt في Python لإنشاء تطبيقات سطح المكتب عبر منصات متعددة مثل Windows، macOS، وLinux.
تثبيت مكتبة PySide
قبل أن نبدأ في إنشاء تطبيق سطح المكتب، نحتاج أولاً إلى تثبيت مكتبة PySide6
(أحدث إصدار من المكتبة). يمكنك تثبيت PySide6
باستخدام pip:
pip install PySide6
إنشاء نافذة تطبيق بسيطة
بعد تثبيت PySide6
، يمكننا الآن إنشاء نافذة تطبيق بسيطة. دعونا نبدأ بإنشاء تطبيق يعرض نافذة فارغة.
إنشاء تطبيق بسيط
لإنشاء تطبيق بسيط، نحتاج إلى استيراد بعض المكونات الأساسية من PySide6
وإنشاء كائنات التطبيق والنافذة.
from PySide6.QtWidgets import QApplication, QMainWindow
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# تعيين عنوان النافذة
self.setWindowTitle("تطبيقي الأول")
def main():
# إنشاء التطبيق
app = QApplication(sys.argv)
# إنشاء النافذة الرئيسية
window = MainWindow()
window.show()
# تشغيل التطبيق
app.exec()
if __name__ == "__main__":
main()
هذا السكربت يقوم بإنشاء نافذة تطبيق بسيطة بعنوان "تطبيقي الأول". عند تشغيله، سيتم عرض نافذة فارغة.
إضافة عناصر واجهة المستخدم (Widgets)
لجعل التطبيق أكثر تفاعلية، نحتاج إلى إضافة عناصر واجهة المستخدم (widgets) مثل الأزرار، الحقول النصية، والقوائم. دعونا نضيف بعض هذه العناصر إلى النافذة.
إضافة زر إلى النافذة
لإضافة زر إلى النافذة، يمكننا استخدام QPushButton
وتعيينه في النافذة الرئيسية:
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("تطبيقي الأول")
# إنشاء زر
button = QPushButton("اضغطني")
# إنشاء تخطيط وإضافة الزر إليه
layout = QVBoxLayout()
layout.addWidget(button)
# إنشاء عنصر مركزي وإضافة التخطيط إليه
central_widget = QWidget()
central_widget.setLayout(layout)
# تعيين العنصر المركزي للنافذة
self.setCentralWidget(central_widget)
في هذا المثال، قمنا بإضافة زر إلى النافذة بعنوان "اضغطني". استخدمنا QVBoxLayout
لترتيب العناصر عموديًا داخل النافذة.
التفاعل مع عناصر واجهة المستخدم
لتجعل التطبيق أكثر تفاعلية، يمكننا إضافة وظائف تتفاعل مع المستخدم. على سبيل المثال، يمكننا ربط حدث النقر على الزر بوظيفة تقوم بتنفيذ إجراء معين.
ربط الإشارات (Signals) بالأفعال (Slots)
في PySide
، يتم التعامل مع التفاعلات باستخدام مفهوم الإشارات (signals) والأفعال (slots). يمكن ربط إشارات معينة (مثل الضغط على زر) بأفعال معينة (مثل استدعاء وظيفة).
from PySide6.QtCore import Slot
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("تطبيقي الأول")
# إنشاء زر وربطه بوظيفة
button = QPushButton("اضغطني")
button.clicked.connect(self.on_button_clicked)
# إعداد التخطيط والنافذة
layout = QVBoxLayout()
layout.addWidget(button)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
# تعريف الفعل (Slot) المرتبط بالزر
@Slot()
def on_button_clicked(self):
print("تم الضغط على الزر!")
في هذا المثال، قمنا بربط حدث الضغط على الزر بوظيفة on_button_clicked
التي تقوم بطباعة رسالة إلى وحدة التحكم.
إضافة عناصر أخرى إلى واجهة المستخدم
بالإضافة إلى الأزرار، يمكنك إضافة مجموعة متنوعة من عناصر واجهة المستخدم مثل الحقول النصية، القوائم المنسدلة، والمربعات الحوارية. دعونا نضيف حقل نصي إلى النافذة.
إضافة حقل نصي
لإضافة حقل نصي إلى النافذة، يمكنك استخدام QLineEdit
:
from PySide6.QtWidgets import QLineEdit
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("تطبيقي الأول")
# إنشاء زر وحقل نصي
button = QPushButton("اضغطني")
button.clicked.connect(self.on_button_clicked)
self.input_field = QLineEdit()
# إعداد التخطيط والنافذة
layout = QVBoxLayout()
layout.addWidget(self.input_field)
layout.addWidget(button)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
# تعريف الفعل (Slot) المرتبط بالزر
@Slot()
def on_button_clicked(self):
print("تم إدخال:", self.input_field.text())
في هذا المثال، قمنا بإضافة حقل نصي إلى النافذة وربطناه بزر. عند الضغط على الزر، يتم طباعة النص المدخل في الحقل النصي إلى وحدة التحكم.
خاتمة
تعتبر مكتبة PySide
أداة قوية لإنشاء تطبيقات سطح المكتب بواجهة رسومية في Python. من خلال هذا المقال، تعرفنا على كيفية إنشاء نافذة تطبيق بسيطة، إضافة عناصر واجهة المستخدم (widgets)، وربط الأحداث بالأفعال لجعل التطبيق تفاعليًا. يمكنك الآن استخدام هذه الأدوات لبناء تطبيقات سطح المكتب الخاصة بك باستخدام Python وPySide
.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية استخدام مكتبة PIL لمعالجة الصور في Python
- كيفية بناء نموذج تصنيف باستخدام TensorFlow في Python
- كيفية التعامل مع ملفات XML باستخدام مكتبة xml.etree.ElementTree في Python
- كيفية تنفيذ التوازي باستخدام مكتبة multiprocessing في Python
- كيفية كتابة سكربت للتعامل مع API RESTful باستخدام مكتبة requests في Python
- كيفية استخدام مكتبة subprocess لتنفيذ أوامر النظام في Python
- كيفية استخدام مكتبة PyGame لتطوير الألعاب في Python
- كتابة سكربت لتحميل الملفات من الإنترنت باستخدام urllib في Python
- كيفية إنشاء قنوات اتصال باستخدام مكتبة asyncio.Queue في Python
- كيفية استخدام مكتبة boto3 للتفاعل مع خدمات AWS في Python