抑制信号并稍后发出

时间:2014-07-01 21:50:57

标签: qt

我有一个对象,状态是由用户通过QDialog控制的。对话框窗口中有很多QLineEdit s,QRadioButton和其他内容。我在对象中创建了slots,并将其与小部件中的signals相关联。 Everythig工作正常,一旦我按下小部件,对象的状态就会改变。现在我添加了okcancel按钮,我希望只有在点击ok按钮后才能更改对象状态,而在按cancel按钮时则不会更改。因此,是否有可能从小部件中捕获信号并在单击ok按钮时发出信号,或在单击cancel按钮时禁止它们。我正在使用Qt 5.2.1

1 个答案:

答案 0 :(得分:0)

你不能轻易做到这一点。另外我认为在信号电平上解决这个问题是错误的做法。

你应该缓存这些值并将它们设置为你的对象ok(不是取消);或者您可以直接从窗口小部件读取值,并以相同的方式将它们传递给您的对象,而无需缓存。

您正在构建设置对话框吗?