请注意:qt / c ++ newbie here
目的:
我有一个QDialog,我想从中返回一个结果。我知道QDialog::exec()
与setResult相结合,导致使用Accept()
或Reject()
,
但是当documentation page读取时,开发人员建议起诉QDialog返回代码,这意味着可以使用可以使用不同的值,尽管我没有运气有这个。
enum ReturnResult{
success=0,
fail=1
error=2
warning=3
}
如何使用QDialog::setResult()
函数发送自定义enum
值(如上所示),
因此,回到父类,如果不可能,有什么建议可以解决这个问题吗?
答案 0 :(得分:1)
您可以致电QDialog::done(int res)
以关闭包含所需结果代码的对话框,然后该代码将成为QDialog::exec()
的返回值。
答案 1 :(得分:0)
result()
的文档声明了
通常会返回模态对话框的结果代码
Accepted
或Rejected
。
如果我理解正确,这意味着即使当前实现允许传递自定义值,也不能确定它将来不会更改并破坏您的代码。
在您的情况下,只需向其添加另一个信号并连接到它,或者将您自己的字段添加到对话框并使用它来传递数据。