我有一个带有复杂对话框的便携式应用程序,该对话框显示具有许多(超过 50 个)可以更改的不同设置值的用户选项卡。用户可以设置这些值,然后按 OK 或 Cancel。
如果用户按下 OK,我希望应用程序将更改存储在模型中,但如果用户按下取消,我希望应用程序忘记所做的任何更改。
让价值进入和退出对话的最佳策略是什么?
我知道如何使用 QDataWidgetMapper 将模型直接映射到小部件,但是如果用户单击取消,我会遇到问题 - 我必须撤消所做的所有更改。另一方面,如果我创建了一个与模型分开存储值的特定于对话框的对象,那么我必须将模型中的所有值复制到对象中,然后如果用户按下确定,则将它们再次复制出来。有任何想法吗?