Вот мой код, однако он не работает. Нет никаких примеров этого виджета, который доступен в Интернете. Следующий код возвращает ошибку. Я не слишком уверен в том, как использовать виджет ScrolledThumbnail, я надеюсь, что кто-то может показать мне и рассказать мне, что я делаю неправильно.Как использовать ScrolledThumbnail в wxpython
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.ScrolledThumbnail(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()
EDIT:
здесь ошибка
self.tn.ShowDir(path)
File "C:\Python29\lib\site-packages\wx-2.9.3-msw\wx\lib\agw\thumbnailctrl.py", line 1574, in ShowDir
self._parent.RecreateComboBox(folder)
AttributeError: 'MyFrame' object has no attribute 'RecreateComboBox'
Было бы более информативным, если вы предоставили текст ошибки, так как этот код работает на меня. –
Вы пытались сменить каталоги – thelost
Хорошо, я вижу. 'ScrolledThumbnail' не предназначен для использования сам по себе, только в классе' ThumbnailCtrl'. Почему вы хотите использовать его так? –