Bu öğretici, PyQt5’in QRadioButton
bileşeninin kullanımı hakkında kapsamlı bir kılavuz sunmaktadır. Temelleri ele alacağız, setChecked
metodunu inceleyeceğiz ve karşılıklı olarak birbirini dışlayan seçim için radyo düğme grupları oluşturmayı derinlemesine öğreneceğiz. Başlayalım!
İçindekiler:
- Temel
QRadioButton
Örneği setChecked
Metodu- Radyo Düğmesi Grupları Oluşturma
- Kullanıcı Seçimini İşleme
1. Temel QRadioButton
Örneği
QRadioButton
, kullanıcılara bir kümeden bir seçenek seçme olanağı tanır. İşte basit bir örnek:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("PyQt5 QRadioButton Örneği")
layout = QVBoxLayout()
label = QLabel("Bir seçenek seçin:")
layout.addWidget(label)
radio1 = QRadioButton("Seçenek 1")
radio2 = QRadioButton("Seçenek 2")
radio3 = QRadioButton("Seçenek 3")
layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)
window.setLayout(layout)
window.show()
sys.exit(app.exec_())
Bu, üç bağımsız radyo düğmesi oluşturur. Hangisinin seçili olduğunu kontrol etmek için isChecked()
metodunu kullanın.
2. setChecked
Metodu
setChecked(True)
kullanarak programatik olarak bir radyo düğmesini seçin veya setChecked(False)
kullanarak seçimini kaldırın.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout, QPushButton
# ... (önceki kod) ...
button = QPushButton("Seçenek 2'yi Seç")
button.clicked.connect(lambda: radio2.setChecked(True))
layout.addWidget(button)
# ... (kodun geri kalanı) ...
Bu, tıklandığında “Seçenek 2” yi seçen bir düğme ekler.
3. Radyo Düğmesi Grupları Oluşturma
Karşılıklı olarak birbirini dışlayan seçim için QButtonGroup
kullanın. Bu, gruptaki yalnızca bir düğmenin aynı anda seçilebilmesini sağlar.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout, QButtonGroup
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("PyQt5 QRadioButton Grubu Örneği")
layout = QVBoxLayout()
label = QLabel("Bir seçenek seçin:")
layout.addWidget(label)
button_group = QButtonGroup()
radio1 = QRadioButton("Seçenek 1")
radio2 = QRadioButton("Seçenek 2")
radio3 = QRadioButton("Seçenek 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. Kullanıcı Seçimini İşleme
buttonClicked
sinyalini kullanarak kullanıcı seçimini verimli bir şekilde işleyin:
button_group.buttonClicked.connect(lambda button: print(f"Seçilen seçenek: {button_group.id(button)}"))
Bu, seçilen düğmenin kimliğini (gruba eklenirken atanır) yazdırır. print
ifadesini istediğiniz işlemle değiştirin.
Bu geliştirilmiş yaklaşım, her düğmenin durumunu manuel olarak kontrol etmeyi önler ve PyQt5 uygulamalarınızda radyo düğmesi seçimlerini yönetmek için daha sağlam ve düzenli bir çözüm sunar.