0

我有一个带有复杂对话框的便携式应用程序,该对话框显示具有许多(超过 50 个)可以更改的不同设置值的用户选项卡。用户可以设置这些值,然后按 OK 或 Cancel。

如果用户按下 OK,我希望应用程序将更改存储在模型中,但如果用户按下取消,我希望应用程序忘记所做的任何更改。

让价值进入和退出对话的最佳策略是什么?

我知道如何使用 QDataWidgetMapper 将模型直接映射到小部件,但是如果用户单击取消,我会遇到问题 - 我必须撤消所做的所有更改。另一方面,如果我创建了一个与模型分开存储值的特定于对话框的对象,那么我必须将模型中的所有值复制到对象中,然后如果用户按下确定,则将它们再次复制出来。有任何想法吗?

4

1 回答 1

2

QDataWidgetMapper非常适合这种情况,它有两个提交策略AutoSubmitManualSubmit。在您的情况下,您可以在用户按下时使用andManualSubmit显式调用,或者在用户按下时根本不提交。submit()OKCancel

于 2012-05-21T16:45:51.490 回答