我有两个单选按钮。单击其中一个时,它应禁用某些小部件并激活其他小部件。我该怎么做?
例如,如果我检查radioButton1
,那么它应该立即禁用lineEdit,如果我检查radioButton2
它应该启用第一行编辑并禁用lineEdit2。
这一切都是实时的。
答案 0 :(得分:6)
目前没有太多可以继续的,一般的答案如下:
处理单选按钮的相应信号。使用此信号,您可以触发方法/循环,您可以使用setEnabled(false)
将窗口小部件设置为禁用。
根据您的情况,您可以使用类似于以下两种方法的方法,根据您收到的信号调用这两种方法:
void OnRadioButton1()
{
lineEdit->setEnabled(false);
lineEdit2->setEnabled(true);
}
void OnRadioButton2()
{
lineEdit->setEnabled(true);
lineEdit2->setEnabled(false);
}
这真的非常直截了当。我不明白这个“实时”概念在哪里发挥作用。这是对单个输入“事件”的单一响应。
当然,这也可以是具有特定(布尔)参数的单个方法或其他任何方法。但鉴于我们在这里讨论的假设示例案例并不一定反映您的真实代码,这至少应该为您提供一些想法。