Как сделать растровую кнопку wxpython только с изображением без лишних пикселей и границ вокруг изображения

Я пытаюсь использовать изображение в качестве кнопки в wxpython. То, что я хочу, это то, что должен быть только растровое изображение и никакая другая граница или какой-либо дополнительный пиксель вокруг кнопки. Я действительно хотел бы только захватить щелчок на растровом изображении, поэтому, возможно, мне не нужна настоящая кнопка. Следовательно, нажатие кнопки не требуется.

Один вариант, который я использую PlateButton с platebutton.PB_STYLE_NOBG, который отлично работает только тогда, когда он отображает изображение без наведения мыши или щелчков. Теперь, когда я наведу на кнопку кнопку, мне нужно затененное изображение того же изображения (только изображение без рамки или чего-либо еще), но я получаю квадратную рамку вокруг моего изображения.

Мой код:

import wx.lib.platebtn as platebutton


imageButton = platebutton.PlateButton(self._ribbon,wx.ID_NEW, bmp = wx.Bitmap("image.png", wx.BITMAP_TYPE_ANY), pos = (0,0), size = (37,17), style= platebutton.PB_STYLE_DEFAULT | platebutton.PB_STYLE_NOBG)

2 ответа

Решение

Вы можете напрямую использовать статическое растровое изображение и захватывать событие мыши в этом растровом изображении.

попробуй это:

     sBitMap = wx.StaticBitmap(self._ribbon, -1, wx.Bitmap("image.png", wx.BITMAP_TYPE_ANY), (0, 0), (37,17))
     sBitMap.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)

def OnLeftDown(self, e):
    print "OnLeftDown"

Редактировать:

Получить размер из исходного изображения и использовать его для создания статического растрового изображения

sBitMap = wx.StaticBitmap(self._ribbon, -1, wx.Bitmap("image.png", wx.BITMAP_TYPE_ANY), (0, 0), (bmp.GetWidth(), bmp.GetHeight()))

Я использую GenBitmapButton из wx.lib.buttons

path="path to bitmap"
size=(size of bitmap)
b=GenBitmapButton(Parent,wx.ID_ANY, bitmap=wx.Bitmap(path),
                  style=wx.NO_BORDER|wx.BU_EXACTFIT,size=size)

Это делает трюк просто отлично, и я выстроил растровые изображения без промежутков между ними для кнопок.

Другие вопросы по тегам