在Qt中实时禁用小部件

在Qt中实时禁用小部件,qt,qt4,Qt,Qt4,我有两个单选按钮。当单击其中一个时,它应该禁用一些小部件并激活其他小部件。我该怎么办 e、 g如果我选中radioButton1,则应立即禁用lineEdit;如果我选中radioButton2,则应启用第一行编辑并禁用lineEdit 2 所有这些都是实时的。目前没有太多的事情要做,一般的答案如下: 处理单选按钮的相应信号。使用此信号,您可以触发一个方法/循环,在该方法/循环中,您可以使用将小部件设置为禁用 根据您的情况,您可以使用类似于以下两种方法的方法,根据接收到的信号调用这两种方法: v

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

e、 g如果我选中
radioButton1
,则应立即禁用lineEdit;如果我选中
radioButton2
,则应启用第一行编辑并禁用lineEdit 2


所有这些都是实时的。

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

处理单选按钮的相应信号。使用此信号,您可以触发一个方法/循环,在该方法/循环中,您可以使用将小部件设置为禁用

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

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

void OnRadioButton2()
{
    lineEdit->setEnabled(true);
    lineEdit2->setEnabled(false);
}
真的很直截了当。我不明白“实时”这个概念从何而来。这是对单个输入“事件”的单个响应


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

那么,到目前为止你试过什么?(如果可以的话,给我们看看代码)你卡在什么上面?老实说,在目前的形式下,这并不是一个很好的问题。我建议阅读Qt入门文档并使用creator,它有代码完成和内置帮助。祝你好运谢谢你的回答,我正在考虑创建一个无限循环,但它会消耗大量CPU,这是不利的,还有其他方法吗?其次,我尝试了组合框的setEnabled(false),得到了这个
错误:对'QComboBox::isEnabled(bool)
的调用没有匹配的函数,对lineEdit小部件也没有匹配的函数。我做错了什么我说了
setEnabled(false)
。您的错误表明
已启用(bool)
。该函数确实存在,但没有布尔参数,仅指示是否启用了某些功能。它没有将其设置为。所以你可能想纠正这一点。为什么是无限循环?我根本不明白这是怎么回事。您可能想向我们展示您的代码。更新你的问题。谢谢你的更正。但实际上我不能共享代码,因为它大约是1200行cpp,有很多资源和表单。我正在为Android手机开发工具包。你能建议我应该如何实施它吗?这样它就可以实时处理小部件了?根据你给我们的信息,我不能再多提建议了。如果你不能把它缩小到一个简单的说明性例子(不是1200行;),那么我能做的就不多了。很抱歉,我更新了我的帖子,提供了更多的细节,但我无法分享代码,原因如下:(.你能给我一个示例代码来说明我的问题吗?