在我的代碼中,我連接MySql數據庫和查詢數據。
我使用這些數據繪製圖形場景。Sql連接和GUI問題
當數據庫連接返回false時,
我的程序嘗試連接數據庫與(db.Open())
。
與此同時,gui被鎖定。
你對這個問題有什麼想法嗎?
我該如何解決?
在我的代碼中,我連接MySql數據庫和查詢數據。
我使用這些數據繪製圖形場景。Sql連接和GUI問題
當數據庫連接返回false時,
我的程序嘗試連接數據庫與(db.Open())
。
與此同時,gui被鎖定。
你對這個問題有什麼想法嗎?
我該如何解決?
要解決這個問題,您必須創建一個多線程應用程序。一個進程可以有多個線程,這些線程就像是與子進程並行運行的子進程(Slam me for this explanation:P)。有關線程的更多信息,請閱讀here。
在你的情況下,你必須產生一個線程,在後臺創建MySql連接(QT Doc表示「只能在創建它的線程中使用連接」),獲取數據從服務器並將其繪製到您想要的小部件。在後臺線程執行此操作時,應用程序的主要運行週期不會中斷,並且您的應用程序不會無響應。但是,您必須實現一種機制,以確保一次只能存在一個Mysql-Data-Fetcher-Thread,否則它會變得混亂(例如,多個線程想要訪問相同的繪圖區域,這在QT中是不可能的)。
在QT文檔站點上存在非常好的section about threads以及如何在QT中實現它們。如果你不熟悉線程編程,你還應該查閱那裏的外部鏈接。
甚至沒有足夠的信息來幫助你。 – 2010-12-06 09:40:59