Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 如何使用PyQt在对话框中输入和输出多个值_Model View Controller_Dialog_Pyqt - Fatal编程技术网

Model view controller 如何使用PyQt在对话框中输入和输出多个值

Model view controller 如何使用PyQt在对话框中输入和输出多个值,model-view-controller,dialog,pyqt,Model View Controller,Dialog,Pyqt,我有一个带有复杂对话框的便携式应用程序,其中显示了用户选项卡,其中有许多(超过50个)可以更改的不同设置值。用户可以设置值,然后按“确定”或“取消” 如果用户按OK,我希望应用程序在模型中存储更改,但如果用户按Cancel,我希望应用程序忘记所做的任何更改 让价值进入和退出对话的最佳策略是什么 我知道如何使用QDataWidgetMapper将模型直接映射到小部件,但是如果用户单击“取消”,我会遇到一个问题—我将不得不撤消所做的所有更改。另一方面,如果我创建一个特定于对话框的对象,该对象单独存储

我有一个带有复杂对话框的便携式应用程序,其中显示了用户选项卡,其中有许多(超过50个)可以更改的不同设置值。用户可以设置值,然后按“确定”或“取消”

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

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


我知道如何使用QDataWidgetMapper将模型直接映射到小部件,但是如果用户单击“取消”,我会遇到一个问题—我将不得不撤消所做的所有更改。另一方面,如果我创建一个特定于对话框的对象,该对象单独存储模型中的值,那么我必须将模型中的所有值复制到该对象中,然后在用户按OK时再次将其复制出来。有什么想法吗?

非常适合这种情况,它有两个方面<代码>自动提交和
手动提交
。在您的情况下,您可以使用
ManualSubmit
并在用户按下
OK
时显式调用
submit()
,或者在用户按下
Cancel

时根本不提交!这正是我要找的。