缩略图大小(尝试将其设置为全屏)

时间:2017-05-16 13:05:44

标签: python-2.7 wxpython thumbnails splitter

我一直在尝试在Multisplitter下插入两个Thubmnailctrl,我已经设法将它们放在那里,但我无法设法使它们占据整个空间。在thumbnailctrl.py上,我看到它的最大大小可能是350x280:

import wx
import os
import cv2
import ctypes
from PIL import Image
from wx.lib.splitter import MultiSplitterWindow

try:
    from agw import thumbnailctrl as TC
except ImportError:  # if it's not there locally, try the wxPython lib.
    import wx.lib.agw.thumbnailctrl as TC


class SamplePane(wx.Panel):
def __init__(self, parent):
    wx.Panel.__init__(self, parent)

    self.thumbnail11 = TC.ThumbnailCtrl(self, imagehandler=TC.NativeImageHandler, thumboutline=4)
    self.thumbnail11.EnableDragging(True)
    # self.thumbnail11.SetThumbSize(350, screensize[0] / 15, 25)  # For images -> Max values 350,280

    # ################VID################ #

    topmostSizer = wx.BoxSizer(wx.VERTICAL)

    topmostSizer.Add(self.thumbnail11, proportion=0, flag=wx.EXPAND)

    self.SetSizer(topmostSizer)
    self.MaxSize
    # topmostSizer.Fit(self)


class MainFrame(wx.Frame):
""""""

    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, None, title="Elephant")

        splitter = MultiSplitterWindow(self, style=wx.SP_LIVE_UPDATE)
        # t1Sizer = wx.BoxSizer(wx.VERTICAL)
        # self.thumbnail11 = TC.ThumbnailCtrl(splitter, imagehandler=TC.NativeImageHandler, thumboutline=4)
        panel = SamplePane(splitter)
        splitter.AppendWindow(panel)
        panel2 = SamplePane(splitter)
        splitter.AppendWindow(panel2)
        # t1Sizer.Add(panel, proportion=0, flag=wx.EXPAND)
        self.Show()

if __name__ == "__main__":
    app = wx.App(False)

    frame = MainFrame()
    # import wx.lib.inspection
    # wx.lib.inspection.InspectionTool().Show()
    app.MainLoop()

但另一方面,在ThumbnailCtrl下的演示中,它使用Splitter创建一个你想要的Thumbnailctrl,所以我不知道我做错了什么(可能是Sizer)或者是某些功能来自Splitter(完全不同于multisplitter),它允许Thumbnailctrl占据它的整个空间。

Thumbnailctrl + Splitter演示:

{{1}}

我尝试使用两个缩略图的Multisplitter(当第三个面板上有文字和内容时):

{{1}}

如您所见,有两个缩略图,它们从左向右扩展,但它们的上限为最大高度。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

不是100%确定您尝试使用此功能是什么,但我怀疑您的问题与topmostSizer的{​​{1}}属性有关。 尝试:

proportion

从手册:

  

比例 - 虽然此参数的含义未定义   wx.Sizer,它在wx.BoxSizer中用于指示sizer的子节点   可以在wx.BoxSizer的主方向上改变它的大小 - 在哪里   0表示不可更改,值大于零   解释相对(总数的一部分)与其他的价值   wx.BoxSizer的孩子们。

在这种情况下,您已将topmostSizer.Add(self.thumbnail11, proportion=1, flag=wx.EXPAND) 定义为VERTICAL