ラジオボタンの使い方

下図のように、画面上にラジオボタンをDesignerで配置する。ラジオボタンに関する処理を勉強するため、数字を入力して掛算をするサンプルを作成してみた。


▲Designerで画面のデザインを行う

アプリとして動かすために、実際の処理を行うソースは以下のように書ける。初期設定とどのボタンが押されているかを判定する処理のサンプルになる。

from __future__ import division
import sys
from radiobutton-test import *

class MyForm(QtGui.QDialog):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        QtCore.QObject.connect(self.ui.ButtonCalc, QtCore.SIGNAL('clicked()'), self.calculate)
        self.ui.radio2.setChecked(1)

    def calculate(self):
        if len(self.ui.baseNumber.text())!=0:
            a = float(self.ui.baseNumber.text())
        else:
            a = 0.0
        if self.ui.radio2.isChecked() == True:
            result = 2.0*a
        if self.ui.radio4.isChecked() == True:
            result = 4.0*a
        if self.ui.radio6.isChecked() == True:
            result = 6.0*a
        self.ui.labelResult.setText("Result:" + str(result))

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = MyForm()
    myapp.show()
    sys.exit(app.exec_())

radiobutton-test.pyというのが、Desingerから生成されたコードを指す。