PyQt5 Tutorials

PyQt5 Radyo Düğmeleri: Kapsamlı Bir Kılavuz

Spread the love

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:

  1. Temel QRadioButton Örneği
  2. setChecked Metodu
  3. Radyo Düğmesi Grupları Oluşturma
  4. 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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir