PyQt5 Tutorials

أزرار الاختيار في PyQt5: دليل شامل

Spread the love

يوفر هذا البرنامج التعليمي دليلًا شاملاً لاستخدام عنصر واجهة المستخدم QRadioButton في PyQt5. سنغطي الأساسيات، واستكشاف طريقة setChecked، والغوص في إنشاء مجموعات من أزرار الاختيار الإذاعي لاختيار متبادل الاستبعاد. لنبدأ!

جدول المحتويات:

  1. مثال أساسي لـ QRadioButton
  2. طريقة setChecked
  3. إنشاء مجموعات أزرار الاختيار الإذاعي
  4. معالجة اختيار المستخدم

1. مثال أساسي لـ QRadioButton

يسمح QRadioButton للمستخدمين بتحديد خيار واحد من مجموعة. إليك مثال بسيط:


import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("مثال PyQt5 QRadioButton")

layout = QVBoxLayout()
label = QLabel("اختر خيارًا:")
layout.addWidget(label)

radio1 = QRadioButton("الخيار 1")
radio2 = QRadioButton("الخيار 2")
radio3 = QRadioButton("الخيار 3")

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

window.setLayout(layout)
window.show()
sys.exit(app.exec_())

هذا ينشئ ثلاثة أزرار اختيار إذاعي مستقلة. للتحقق من العنصر المحدد، استخدم طريقة isChecked().

2. طريقة setChecked

حدد زر اختيار إذاعي برمجيًا باستخدام setChecked(True) أو قم بإلغاء التحديد باستخدام setChecked(False).


import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout, QPushButton

# ... (الكود السابق) ...

button = QPushButton("اختر الخيار 2")
button.clicked.connect(lambda: radio2.setChecked(True))

layout.addWidget(button)

# ... (بقية الكود) ...

يضيف هذا زرًا يختار “الخيار 2” عند النقر عليه.

3. إنشاء مجموعات أزرار الاختيار الإذاعي

لاختيار متبادل الاستبعاد، استخدم QButtonGroup. هذا يضمن أنه يمكن تحديد زر واحد فقط في المجموعة في كل مرة.


import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout, QButtonGroup

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("مثال مجموعة PyQt5 QRadioButton")

layout = QVBoxLayout()
label = QLabel("اختر خيارًا:")
layout.addWidget(label)

button_group = QButtonGroup()
radio1 = QRadioButton("الخيار 1")
radio2 = QRadioButton("الخيار 2")
radio3 = QRadioButton("الخيار 3")

button_group.addButton(radio1, 1)
button_group.addButton(radio2, 2)
button_group.addButton(radio3, 3)

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

window.setLayout(layout)
window.show()
sys.exit(app.exec_())

4. معالجة اختيار المستخدم

قم بمعالجة اختيار المستخدم بكفاءة باستخدام إشارة buttonClicked:


button_group.buttonClicked.connect(lambda button: print(f"الخيار المحدد: {button_group.id(button)}"))

يطبع هذا معرف (المُعيّن عند الإضافة إلى المجموعة) لزر المحدد. استبدل بيان print بالإجراء المطلوب.

هذا النهج المُحسّن يتجنب التحقق يدويًا من حالة كل زر ويوفر حلاً أكثر قوةً ومنظمةً لإدارة اختيارات أزرار الاختيار الإذاعي في تطبيقات PyQt5 الخاصة بك.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *