- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在寻找一种使用 wxPython 显示缩略图的简单解决方案。这与创建缩略图无关。我有一个缩略图目录,想在屏幕上显示它们。我故意不使用(面板、框架、窗口、滚动窗口)之类的术语,因为我对各种解决方案持开放态度。
另请注意,我发现了多个显示单个图像的示例,因此引用任何此类解决方案对我没有帮助。解决方案一定是在wx中同时显示多张图片。
似乎我想做的事情是在ThumbnailCtrl中完成的,但是Andrea的代码很复杂,我找不到在屏幕上显示的部分。我确实在 Mark Lutz 的编程 Python 书中找到了一个简单的解决方案,但是虽然他的 viewer_thumbs.py 示例确实具有我正在寻找的简单性,但它是使用 Tkinter 完成的。
因此,任何 wx 解决方案都将不胜感激。
编辑:我正在添加一个指向可以找到 Mark Lutz 的工作 Tkinter 代码的地方的链接。谁能想到 wx 等价物?
http://codeidol.com/community/python/viewing-and-processing-images-with-pil/17565/#part-33
最佳答案
我建议使用 ThumbNailCtrl 小部件:http://wxpython.org/Phoenix/docs/html/lib.agw.thumbnailctrl.html . wxPython 演示中有一个很好的示例。或者您可以使用文档中的这个。请注意,ThumbNailCtrl 需要安装 Python 图像库。
import os
import wx
import wx.lib.agw.thumbnailctrl as TC
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "ThumbnailCtrl Demo")
panel = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
thumbnail = TC.ThumbnailCtrl(panel, imagehandler=TC.NativeImageHandler)
sizer.Add(thumbnail, 1, wx.EXPAND | wx.ALL, 10)
thumbnail.ShowDir(os.getcwd())
panel.SetSizer(sizer)
# our normal wxApp-derived class, as usual
app = wx.App(0)
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
只需更改 thumbnail.ShowDir(os.getcwd()) 行,使其指向您计算机上的正确文件夹。
我也在这里写了一篇看照片的文章:http://www.blog.pythonlibrary.org/2010/03/26/creating-a-simple-photo-viewer-with-wxpython/不过它不使用缩略图。
关于python - 使用 wxPython 显示缩略图的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444378/
我是一名优秀的程序员,十分优秀!