天天看點

Python郵件用戶端編寫之wxPython樹形控件

在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
           

這樣,便可以通過滑鼠輕按兩下樹形控件上的任意一個元素,傳回該元素上的文本内容。