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