如何使用wxpython中的wxThumbnailCtrl?

时间:2012-02-19 13:30:31

标签: python wxpython wxwidgets

我认为这是一个新的小部件,并且没有关于此的在线示例。我不确定我应该如何开始使用它或如何使用它。

1 个答案:

答案 0 :(得分:1)

这是让你入门的简单例子。 self.button选择带图像的目录;在双击任何缩略图时,会显示一个消息框,其中包含所选拇指的信息。

import wx
from wx.lib.agw import thumbnailctrl as tn

class MyFrame(wx.Frame):
    def __init__(self, *args, **kwds):
        wx.Frame.__init__(self, *args, style=wx.DEFAULT_FRAME_STYLE)
        self.button = wx.Button(self, -1, "Select dir")
        self.Bind(wx.EVT_BUTTON, self.ButtonPress, self.button)
        self.tn = tn.ThumbnailCtrl(self)    
        self.tn.Bind(tn.EVT_THUMBNAILS_DCLICK, self.TnClick)

        box = wx.BoxSizer(wx.VERTICAL)
        box.Add(self.tn, 1, wx.EXPAND, 0)
        box.Add(self.button, 0, wx.ADJUST_MINSIZE, 0)
        self.SetSizer(box)
        box.Fit(self)
        self.Layout()

    def ButtonPress(self, evt):
        dlg = wx.DirDialog(self, 'Get dir')
        if dlg.ShowModal() == wx.ID_OK:
        path = dlg.GetPath()
        dlg.Destroy()
        self.tn.ShowDir(path)

    def TnClick(self, evt):
        sel = self.tn.GetSelection()
        wx.MessageBox(self.tn.GetThumbInfo(sel))

if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    frame = MyFrame(None, -1, "")
    frame.Show()
    app.MainLoop()