2013-04-21 61 views
0

我有一些非原始數據類型的QList,使用說Q設置<data type>了的QList

QList <DockWidget*> tmp; 

我想這個存儲整個列表進入設置,寫作和重裝,讓我不會失去我的設置重新啓動。

我試圖

settings.setValue("reference", tmp); 

但閱讀

tmp = settings.value("reference"); 

我應該如何讀,寫這樣的設置得到編譯錯誤?

+1

你究竟想要保存什麼?無論如何你都無法加載和重用指針。 – 2013-04-21 17:57:41

+0

我想要恢復所有小部件的狀態 – shivshnkr 2013-04-21 17:59:32

+0

@Roku我希望我的應用程序能夠從您的語句中恢復某些小部件的狀態,看起來我無法存儲和使用指針,這似乎是真的。基本上怎麼做? – shivshnkr 2013-04-21 18:15:53

回答

0

這是行不通的。 QSettings.setValue()操作周圍的QVariant類,這樣纔可以存儲喜歡

typedef QList<YouClass*> myListType; 

事情你應該實現所有需要的包裝,以myListTyoe轉換,並從的QVariant。

+0

我應該爲我的情況做什麼,不明確你說什麼 – shivshnkr 2013-04-21 17:54:03

+0

檢查這個答案,這是解釋你需要的一切http: //stackoverflow.com/questions/2452893/save-qlistint-to-qsettings – evilruff 2013-04-21 17:56:16

+0

包裝的手段? – shivshnkr 2013-04-21 17:57:36