2012-02-07 94 views
0

我有一個python練習項目。我要寫一個GUI程序,它可以告訴你每個進程的TCP下載和上傳速度。就像nethogs一樣,但在Python中使用wxPython作爲GUI前端。 程序應該的東西是這樣的:在這裏實時更新wx.ListCtrl

----- ---------------- ------ ------- -------- 
PID program name user send  received 
----- ---------------- ------ ------- -------- 
1937  firefox  root 10 KB/s 50 KB/s 
------------------------------------------------- 
3720  wget   root 0 KB/s 120 KB/s 

的數據顯示,僅僅是虛擬的人(對不起,我不能發表圖片我硬編碼使用wx.ListCtrl一些數據)。

我在GUI編程方面沒有太多經驗,所以如何在需要時添加/刪除一行?比方說,我只是關閉了firefox,這樣行就不再存在了,或者我剛剛啓動了一個wget進程,並且應該添加到列表中。發送/接收速度可能不穩定,所以我也需要實時更新更改。

我需要一些事件通知機制嗎? wx.ListCtrl是否可以處理實時更改? 希望我已經明確宣佈了我的問題。

回答

0

您需要重做ListItems。基本上,這意味着只要有東西發生變化,就會清空ListCtrl,然後重新插入所有移除的內容。我發現這是最簡單的方法。我儘可能使用ObjectListView而不是ListCtrl,因爲我認爲它更易於使用和更新。您可能會發現這些文章有用的在這方面的一個:

+0

感謝我給它一個嘗試 – colin 2012-02-08 01:43:35