在Python邮件客户端界面编写过程中可以使用wxPython的GUI库,可以使用树形控件来显示获得的邮件列表。
通过双击树形控件的相应元素来实现打开相应邮件内容。邮件内容可以通过htmlWindow来显示。关于树形控件响应鼠标双击事件可以通过绑定控件的wx.EVT_TREE_ITEM_ACTIVATED事件来实现,通过self.tree.GetItemText(ItemId)方法来获取点击的元素的文本内容。实例代码如下:
import wx
class 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
这样,便可以通过鼠标双击树形控件上的任意一个元素,返回该元素上的文本内容。