2012-02-07 35 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