如何使wxpython位图按钮只有图像,没有额外的像素和边框围绕imag

2024-10-04 05:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在wxpython中使用图像作为按钮。我想要的是只有一个位图,按钮周围没有其他边框或任何额外的像素。我只想捕捉位图上的一次单击,所以我可能不需要实际的按钮。”因此,不需要按下按钮。在

一个选项,我正在使用一个按钮platebutton.PB_样式\u 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)

Tags: 图像style选项wxpython情况样式像素按钮
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"

编辑:

从源图像获取大小并使用它创建静态位图

^{pr2}$

我在使用genbitmap按钮wx.lib.按钮在

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)

这是做的很好的技巧,我有位图排列,没有间距之间的按钮。在

相关问题 更多 >