3

我有两个单选按钮。单击其中一个时,它应该禁用一些小部件并激活其他一些小部件。我该怎么做?

例如,如果我检查radioButton1,那么它应该立即禁用 lineEdit,如果我检查radioButton2它应该启用第一行编辑并禁用 lineEdit2。

所有这些都是实时的。

4

1 回答 1

6

目前没有太多事情要做,一般的答案如下:

处理单选按钮的适当信号。使用此信号,您​​可以触发一个方法/循环,您可以在其中使用setEnabled(false).

鉴于您的情况,您可能有类似于以下两种方法的方法,您可以根据收到的信号调用它们:

void OnRadioButton1()
{
    lineEdit->setEnabled(false);
    lineEdit2->setEnabled(true);
}

void OnRadioButton2()
{
    lineEdit->setEnabled(true);
    lineEdit2->setEnabled(false);
}

这真的很简单。我不明白“实时”的整个概念在哪里发挥作用。这是对单个输入“事件”的单个响应。

当然,这也可以是具有特定(布尔)参数或其他任何东西的单个方法。但是鉴于我们在这里讨论的假设示例案例不一定反映您的真实代码,这至少应该为您提供一些想法。

于 2012-09-02T15:07:38.083 回答