2012-05-21 19 views
0

我有一個帶有複雜對話框的便攜式應用程序,該應用程序顯示包含許多(超過50種)可更改的不同設置值的用戶選項卡。用戶可以設置值,然後按確定或取消。如何使用PyQt在對話框中獲取多個值

如果用戶按下確定,我希望應用程序將更改存儲在模型中,但如果用戶按下取消,我希望應用程序忘記所做的任何更改。

獲取值進出對話框的最佳策略是什麼?

我知道如何使用QDataWidgetMapper將模型直接映射到窗口小部件,但是如果用戶單擊取消,則會出現問題 - 我必須撤消所做的所有更改。另一方面,如果我創建一個與模型分開存儲值的特定於對話框的對象,則必須將模型中的所有值複製到對象中,然後在用戶按下OK時將其複製出來。有任何想法嗎?

回答

2

QDataWidgetMapper非常適合這種情況,它有兩個​​。 AutoSubmitManualSubmit。在您的情況下,您可以使用ManualSubmit,並在用戶按OK時明確呼叫submit(),或者在用戶按下Cancel時完全不提交。

+0

太棒了!這正是我正在尋找的。 – Lozzer

相關問題