1

私は PyQt に非常に慣れていないため、どこから検索を開始すればよいかさえわかりません。

したがって、QRadioButtons には 2 つの異なるオプションがあり、理想的には 2 つの QPushButtons に 1 つずつ対応します。

基本的に、ifステートメントを使用してこれを達成しようとした次のコードがあります。

def tab1UI(self): 

    mytabfont = QFont('Lucida Sans Unicode', 9)    
    layout = QFormLayout()
    #self.setTabText(0,"My Data")
    self.tab1.setLayout(layout)

    tabdescription = 'To obtain or generate data choose an option below:' 
    # radio options



    label1 = QLabel(tabdescription)
    label1.setFont(mytabfont)
    layout.addWidget(label1)

    radiobtn1 = QRadioButton('Load data from file')
    radiobtn1.setChecked(True)

    #why does my resize not work?
    radiobtn1.resize(100,100)

    radiobtn1.setFont(mytabfont)
    layout.addWidget(radiobtn1)
    loadbtn = QPushButton('Open CSV file...')
    layout.addWidget(loadbtn)

    radiobtn2 = QRadioButton('Generate data')
    radiobtn2.setFont(mytabfont)
    genbtn= QPushButton('Generating matrix...')
    layout.addWidget(radiobtn2)
    layout.addWidget(genbtn)



    if radiobtn1.isChecked():

        # if this option is clicked then this button needs to be activated else it must be de-activated
        loadbtn.setEnabled(True)
        genbtn.setEnabled(False)

    elif radiobtn2.isChecked():

        loadbtn.setEnabled(False)
        genbtn.setEnabled(True)

    else: 

        loadbtn.setEnabled(False)
        genbtn.setEnabled(False)

そのため、1 つのラジオボタン オプションをクリックするたびに、他のオプションがオンになっているときに、1 つのプッシュボタンが自動的にアクティブまたは非アクティブになるようにしたいと考えています。何らかのアクションが接続されている必要がありますが、これについてどうすればよいかわかりません。

4

1 に答える 1