يوفر هذا البرنامج التعليمي دليلًا شاملاً لاستخدام عنصر واجهة المستخدم QRadioButton
في PyQt5. سنغطي الأساسيات، واستكشاف طريقة setChecked
، والغوص في إنشاء مجموعات من أزرار الاختيار الإذاعي لاختيار متبادل الاستبعاد. لنبدأ!
جدول المحتويات:
- مثال أساسي لـ
QRadioButton
- طريقة
setChecked
- إنشاء مجموعات أزرار الاختيار الإذاعي
- معالجة اختيار المستخدم
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 الخاصة بك.