Python邮件客户端编写之wxPython树形控件

来源:互联网 发布:大数据与银行风险管理 编辑:程序博客网 时间:2024/05/17 23:22

在Python邮件客户端界面编写过程中可以使用wxPython的GUI库,可以使用树形控件来显示获得的邮件列表。

通过双击树形控件的相应元素来实现打开相应邮件内容。邮件内容可以通过htmlWindow来显示。关于树形控件响应鼠标双击事件可以通过绑定控件的wx.EVT_TREE_ITEM_ACTIVATED事件来实现,通过self.tree.GetItemText(ItemId)方法来获取点击的元素的文本内容。实例代码如下:

import wxclass MyFrame(wx.Frame):    def __init__(self):        wx.Frame.__init__(self, None, -1, 'MyFrame', pos = (-1,-1), size = (700,700), style = wx.DEFAULT_FRAME_STYLE)        self.tree = wx.TreeCtrl(self)        self.tree.SetWindowStyle(wx.TR_HAS_VARIABLE_ROW_HEIGHT)        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnClickLeftKey, self.tree)        self.rootdata = self.tree.AddRoot("parent")        self.tree.AppendItem(self.rootdata, "child1")        self.tree.AppendItem(self.rootdata, "child2")        self.tree.AppendItem(self.rootdata, "child3")    def OnClickLeftKey(self, event):        filename = self.tree.GetItemText(event.GetItem())        print filename

这样,便可以通过鼠标双击树形控件上的任意一个元素,返回该元素上的文本内容。