【问题标题】:wx.BitmapButton incorrect size?wx.BitmapButton 大小不正确?
【发布时间】:2018-09-23 02:47:22
【问题描述】:

我似乎无法弄清楚为什么我的位图按钮看起来像一个中间有图像的标准按钮。我遵循了示例和 wxPython 构造函数方法,似乎没有任何改变或匹配我在示例和教程中看到的内容。这是我的构造函数:

    bmp = wx.Bitmap("plus-circle.png", wx.BITMAP_TYPE_ANY)
    self.imgButton = wx.BitmapButton(self, bitmap=bmp)
    self.imgButton.Bind(wx.EVT_BUTTON, self.addCategory)
    catSizer.Add(self.txtCategory, 0, wx.ALL, 5)
    catSizer.Add(self.cmbCategory, 1, wx.ALL, 5)
    catSizer.Add(self.imgButton, 2, wx.ALL, 5)

这就是它在我的“面板”中的显示方式,因为它是选项卡式窗口的一部分:

Image of Button

我怎样才能只将图像作为我的按钮,而周围没有所有额外的边框?我确实尝试了 GetHeight、GetWidth、方法以及 DefaultSize 等,但似乎没有两项工作。

我在 Mac OS Mojave 上运行 Python 3.6。

谢谢!

【问题讨论】:

    标签: python-3.x wxpython


    【解决方案1】:

    当您将按钮添加到 sizer 时,您是在指示它将比例更改为 2。 catSizer.Add(self.imgButton, 2, wx.ALL, 5)

    Sizer.Add(window, proportion=0, flag=0, border=0, userData=None)

    proportion -

    这个参数在 wx.BoxSizer 中用于指示是否是 sizer 可以在 wx.BoxSizer 的主要方向上改变它的大小 - 其中 0 代表不可更改,大于零的值是 相对于相同的其他孩子的价值进行解释 wx.BoxSizer。例如,您可能有一个水平 wx.BoxSizer 三个孩子,其中两个应该改变他们的大小 尺寸器。然后两个可拉伸窗口的值将是 1 每个都使它们与sizer的水平相同地增长和收缩 维度。

    将您的代码更改为以下内容:
    catSizer.Add(self.imgButton, 0, wx.ALL, 5) 那应该可以解决您的问题。

    【讨论】:

    • 男孩,我觉得自己很笨,哈哈。我假设这些数字意味着在 box sizer 中的位置。因此,如果我有 4 件物品,0、1、2、3 是我希望它们放置的顺序。糟糕,但谢谢,做出了改变,现在它可以按预期工作了。
    • @YYC_Code 不要对自己太苛刻,即使你已经使用了很长时间,sizer 也会让你发疯。
    猜你喜欢
    • 2014-10-06
    • 2014-10-10
    • 1970-01-01
    • 2021-01-22
    • 2019-12-20
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多