在不同的情況下,策略會有所不同。假設你只是使用wxPython作爲演示目的,並且你有一個單獨的模塊/包來處理數據。 wxPython控件僅從數據抽象層獲取數據。
情景I:將所有日誌數據加載到內存中,並使用wx.listctrl或wx.listview來顯示行。
場景二:更新wx視圖時從數據庫獲取數據。
在場景I中,您只需設置一個變量即可記住用戶界面已經讀取的位置,或者即使您將日誌作爲列表加載,也可以簡單地使用列表滑動。通過向下滾動/向上自動更新視圖可以在場景I中實現,因爲所有數據都已加載,並且不會再創建sqlite數據庫連接。在場景II中通過向下滾動/向上滾動來實現自動更新是一個不好的選擇,因爲會有太多的數據庫操作 - 想象你很快滾動下來期望獲得第5000行?
在場景II中,您可以設置頁面大小並使用LIMIT/OFFSET來獲取所需的數據集。你保留另一個變量的偏移號碼。通過變量page_size和offset,您可以簡單地獲取數據並更新wx視圖。這種情況對於限制內存使用特別有用。我不知道你的日誌有多大,但畢竟把它全部加載到內存中並不是一個好主意,因爲日誌不斷增長,你可能還需要同時加載其他相對較大的數據集。
我正在尋找一個導師,我會付出教給我一些這些東西(通過webex)..它只是讓我長期得到這個東西我自己做,我需要一些方向.. obv for pay 。你有興趣嗎? – user1314011 2012-04-05 15:43:42
很抱歉,我太忙了,不能成爲你的導師。我相信你會在你身邊找到一個擅長wxPython的人。感謝您的詢問;-) – user866903 2012-04-06 03:03:37