wxPython用于图像和按钮(可调整大小)

巴吉

我想将这样的图像放在wx.Panel

  • 动物应该是“按钮”,这样,如果我单击它们,它们的图像将发生变化,并且如果我重新单击,图像将恢复正常(因此,可以将动物视为简单按钮,如此处的BitmapToggleButtons另一个问题所建议的那样)

  • 如果将父面板的尺寸wx.Panel调整为较小的尺寸(例如,可以使用标准的Windows Photo Viewerhttp//res1.windows),则应调整面板的尺寸/调整比例(所有所有子图像也都必须具有切换按钮!),并保持宽高比。.microsoft.com / resbox / zh-cn / windows%207 / main / 7eaf462a-86dd-42d2-a789-7413f5472dae_63.jpg

我仍然迷失在:如何实现这种可点击的(带有切换按钮)和可缩放的Canvas?

在此处输入图片说明

编辑:我从这里富有成果的东西开始,当在wxPython中调整父对象的大小时重新缩放图像,但是现在我完全迷住了如何继续(检测单击,使用直接DC Painting更新按钮?),这就是赏金的原因。

巴吉

我用以下方法解决了问题:

import wx
from floatcanvas import FloatCanvas

class MyPanel(wx.Panel):
    def __init__(self, parent):
        super(MyPanel, self).__init__(parent)
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(self.sizer)

        # add a canvas
        self.Canvas = FloatCanvas.FloatCanvas(self, BackgroundColor = "LIGHT GREY")
        self.Canvas.Bind(wx.EVT_SIZE, self.OnSize)
        self.sizer.Add(self.Canvas, -1, flag=wx.EXPAND)

        # add a toggle button
        image_dis = wx.Image('file_disabled.png')
        image_ena = wx.Image('file_enabled.png')
        img_dis = self.Canvas.AddScaledBitmap(image_dis, (x,-y), Height=image_dis.GetHeight(), Position = 'tl')
        img_ena = self.Canvas.AddScaledBitmap(image_ena, (x,-y), Height=image_ena.GetHeight(), Position = 'tl')
        img_dis.other = img_ena
        img_ena.other = img_dis
        img_ena.Visible = False

        # bind the toggle button event 
        img_dis.Bind(FloatCanvas.EVT_FC_LEFT_UP, self.OnToggle)
        img_ena.Bind(FloatCanvas.EVT_FC_LEFT_UP, self.OnToggle)

    def OnToggle(self, button):
        button.other.Visible = True
        button.Visible = False
        self.Canvas.Draw(True)

    def OnSize(self, event):
        event.Skip()
        wx.CallLater(1, self.Canvas.ZoomToBB)  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PDF图片可调整大小

来自分类Dev

使多选列表可调整大小

来自分类Dev

KendoUI可调整大小的小部件?

来自分类Dev

点击使SVG可调整大小

来自分类Dev

新的xCode 6 Simulator上的可调整大小的iPhone和可调整大小的iPad是什么?

来自分类Dev

可调整大小的网格列

来自分类Dev

带标题的CSS可调整大小的图像

来自分类Dev

使控件可调整大小

来自分类Dev

使GWT Flextable列可调整大小

来自分类Dev

使背景图像不可调整大小

来自分类Dev

拖放后可拖动和可调整大小

来自分类Dev

JavaFx可调整大小

来自分类Dev

组合的文本和图像按钮,可调整大小可绘制

来自分类Dev

按钮onClick不适用于此JS或以编程方式触发jquery可调整字体大小?

来自分类Dev

jQuery UI菜单和可调整大小-重叠

来自分类Dev

可调整大小的网格列,带有下一个和上一个图像

来自分类Dev

jQuery UI可调整大小和可拖动的问题

来自分类Dev

覆盖图像上的链接,可调整图像大小

来自分类Dev

具有可调整大小的图像的flexbox列

来自分类Dev

使控件可调整大小

来自分类Dev

使用jQuery可调整大小的处理程序附加和调整div的大小

来自分类Dev

使背景图像不可调整大小

来自分类Dev

固定宽度的右栏和可调整大小的内容

来自分类Dev

如何获得可拖动和可调整大小的图像以及仅可调整div的图像?

来自分类Dev

在CSS中居中可调整大小的图像

来自分类Dev

jQuery / Javascript可拖动和可调整大小不适用于div克隆

来自分类Dev

如何使用可调整大小的jQuery在x和y轴上以正确的比例调整图像大小

来自分类Dev

div中可调整大小和可拖动的图像

来自分类Dev

jquery - 从桌面拖放图像并使其可调整大小

Related 相关文章

热门标签

归档