我有一個非常標準的Qt GUI應用程序。它使用Qt的QSettings來存儲一些設置,並且一切正常。Qt - 同一應用的多個副本打開並設置同步
然而,當應用程序的多個副本推出,並設置在一個或另一個改變,不同的副本會出現不一致(如一個具有數據的「老」的複印件)。
什麼是解決這一問題的最佳解決方案?我猜這個問題甚至發生在Qt競技場之外。
我有一個非常標準的Qt GUI應用程序。它使用Qt的QSettings來存儲一些設置,並且一切正常。Qt - 同一應用的多個副本打開並設置同步
然而,當應用程序的多個副本推出,並設置在一個或另一個改變,不同的副本會出現不一致(如一個具有數據的「老」的複印件)。
什麼是解決這一問題的最佳解決方案?我猜這個問題甚至發生在Qt競技場之外。
我一直認爲有對同一數據集上運行多個應用程序,具有很高的碰撞概率的,有點毛。
也許你最好只禁止多個實例,並使用QtSingleApplication在Qt Solutions repository(以及其他好的小部件)中找到。
的QSettings文檔提到這在Accessing Settings from Multiple Threads or Processes Simultaneously部分:
您是否在嘗試從寫入器應用程序寫入值並從讀取器應用程序讀取它們之前調用yoursettings.sync()?如果是這樣,如果你的邏輯是正確的,這聽起來像一個Qt錯誤。
請在這裏發佈一些代碼,你是如何在源代碼中定義QSettings類的。 – mosg 2010-05-17 14:11:50