import wx
import wx.dataview as DVC

class MainFrame(wx.Frame):
    def __init__(self):
        super(MainFrame, self).__init__(None)

        btn = wx.Button(self, wx.ID_ANY, label='Get Item Data')
        btn.Bind(wx.EVT_BUTTON, self.OnGetData)

        self.treeCtrl = DVC.DataViewTreeCtrl(self, wx.ID_ANY, style=DVC.DV_ROW_LINES | DVC.DV_NO_HEADER)
        self.tree_root = self.treeCtrl.AppendContainer(DVC.NullDataViewItem, "Root")
        self.treeCtrl.SetItemData(self.tree_root, 'Data')

        szr = wx.BoxSizer(wx.VERTICAL)
        szr.Add(btn)
        szr.Add(self.treeCtrl, 1, wx.EXPAND)
        self.SetSizer(szr)

    def OnGetData(self, event):
        myData = self.treeCtrl.GetItemData(self.tree_root)

if __name__ == '__main__':
    app = wx.App(redirect=False)
    win = MainFrame()
    win.Show()
    app.MainLoop()
