我有一个对象,其状态由用户通过QDialog
控制。在对话窗口中有很多QLineEdit
s,QRadioButton
s和其他东西。我在对象中创建了slots
,并将它与小部件中的signals
连接起来。 Everythig工作正常,只要我按下小部件,对象的状态就会改变。现在我已经添加了ok
和cancel
按钮,并且我希望仅在单击ok
按钮后才能更改对象状态,而按下cancel
按钮时不会更改它。那么,是否有可能从零件中捕获信号并在点击时点击ok
按钮或点击时抑制它们。cancel
按钮被点击。我正在使用Qt 5.2.1
抑制信号并在稍后发出
1
A
回答
0
你不能轻易做到这一点。另外我认为在信号级别解决这个问题是错误的。
您应该缓存这些值并将它们设置为ok(不取消)。或者您可以直接从小部件读取值,并以相同的方式将它们传递给对象,而无需缓存。
你在建立一个设置对话框吗?
+0
是的,它是一些情节的设置对话框。当创建对话框时,它从图中读取参数,并使用该值构造小部件。我不想读取所有小部件的值并将它们应用于绘图,因为在这种情况下,所有绘图都将重绘。我只想重绘那些参数已经改变的图。 – lnk
+0
然后将新值与图的当前值进行比较,并仅在更改后才设置它们。如果可能的话,最好的做法是将这个值更改检查集成到plot setter方法中。 – Silicomancer
相关问题
- 1. 在Gtk.ToggleButton.set_active上抑制信号
- 2. 断开并稍后重新连接Qt信号
- 3. 如何在其成员发出信号时发出信号?
- 4. 创建并发出GTK信号
- 5. 发出SIGNAL信号?
- 6. 抑制输出
- 7. Android - 保存路径并稍后绘制
- 8. 复制选择并稍后粘贴它
- 9. 抑制蓝牙发现弹出
- 10. 在R中抑制输出
- 11. 抑制信息报告
- 12. 信号处理:开窗信号可以改善阻带抑制,为什么?
- 13. 信号量并发性
- 14. 抑制输出MATLAB
- 15. 抑制IRB输出?
- 16. log4j输出抑制?
- 17. 发送控制信号?
- 18. xmonad并稍后阅读
- 19. 如何在视图完成并返回时发出信号?
- 20. QRunnable发出信号并从插槽获取发件人
- 21. 强制QListWidget信号在发射区
- 22. 稍后发送消息
- 23. 稍后发布帖子
- 24. 使用后台服务发送短信并通过短信发送IMEI号码
- 25. 稍后添加控制器
- 26. React onClick稍后发送垃圾邮件队列并触发?
- 27. QVector发生变化时发出信号
- 28. AutoResetEvent发出信号之前触发
- 29. 如何取消合并(稍后合并)
- 30. 抑制Gradle的JavaExec输出
在窗口小部件的插槽中,例如LineEdit或QRadiobutton你必须暂时储存国家。点击确定按钮后,您可以将数据写入持久性存储或类似的东西。取消按钮丢弃所有临时数据。 – Matthias