当调用对话框的accept()
插槽时,我应该如何最好地强制QDialog保持打开状态?我正在考虑重新实现该函数以使对话框的exec返回而不隐藏对话框,但是想知道是否有更好的方法来实现它。
答案 0 :(得分:2)
不是使用QDialog,而是使用QDockWidget完成效果。
<强>参考强>
答案 1 :(得分:2)
您需要通过调用QDialog
代替show
并使用自定义信号代替exec
来使accept
无模式,因为accept
已关闭窗户。然后使用exec
调用后的代码将该信号连接到主窗口中的插槽。
如果不是这种情况,你应该在某处保存一个引用/指针到你的QDialog(作为主窗口类中的成员,或者打开它的函数中的静态变量),以便能够避免创建对话框的多个实例,并且需要确保只连接信号/插槽一次。