在Qt中实时禁用小部件

Var*_*tre 3 qt qt4

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

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

这一切都是实时的.

Bar*_*art 6

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

处理单选按钮的相应信号.使用此信号,您​​可以触发一个方法/循环,您可以使用它来设置要禁用的小部件setEnabled(false).

根据您的情况,您可以使用类似于以下两种方法的方法,根据您收到的信号调用这两种方法:

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

void OnRadioButton2()
{
    lineEdit->setEnabled(true);
    lineEdit2->setEnabled(false);
}
Run Code Online (Sandbox Code Playgroud)

这真的很直截了当.我不明白这个"实时"概念在哪里发挥作用.这是对单个输入"事件"的单一响应.

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

  • 根据你给我们的信息,我无法提出比我已经拥有更多的建议.如果你不能将它缩小到一个简单的说明性例子(不是1200行;))那么我可以做的事情并不多. (2认同)