我对PyQt很陌生,所以我甚至不知道从哪里开始搜索这个。在
所以我有两个不同的qradiobutton选项,理想情况下对应于两个qpushbutton,每个qpushbutton一个。在
基本上,我有以下代码,我试图通过使用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)
因此,每当我单击一个单选按钮选项时,我希望其中一个按钮自动变为活动或不活动,而另一个选项被选中。 一定有某种行动要联系起来,但不知道如何去做。在
当第一次创建按钮时,只运行一次
if
语句。为了使其工作,您需要在单选按钮检查状态更改时评估这些if
语句。Qt
允许您使用Signals
和Slots
来执行此操作。当您更改检查状态时,QRadioButton
将发出一个信号。您可以连接到此信号并运行更新其他按钮的启用状态的函数。在相关问题 更多 >
编程相关推荐