【问题标题】:Put a bitmap on top of StaticBitmap in WxPython在 WxPython 中的 StaticBitmap 上放置一个位图
【发布时间】:2020-06-28 18:42:50
【问题描述】:

我有一个带有面板的应用程序 放置静态位图(wx.StaticBitmap)的位置 在 GridBagSizer 中。 我想在某些之上放置一个位图 静态位图,将部分覆盖它及其邻居。

我一直在尝试这样:

self.panel = wx.Panel(self, -1, style=wx.TRANSPARENT_WINDOW)
self.panel.Bind(wx.EVT_PAINT, self.place_bitmap)

.
.
.

def place_bitmap(self, *args):
    dc = wx.ClientDC(self.panel)  # or wx.PaintDC(self.panel)

    for xy in self.coordinates:
        dc.DrawBitmap(self.top_bitmap, xy[0], xy[1], 0)

    self.panel.Layout()

如果我更改dc.DrawBitmap() 中的坐标 到self.panel 中没有静态位图的地方,它显示。 但我无法让它显示在静态位图之上。 所以它似乎在它们下面被渲染了?

如何让 top_bitmap 置顶?

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    您不能在子窗口上进行可移植的绘图。一般的解决方案是创建该子窗口的子窗口并在其上绘图,但在您的情况下,使用自定义窗口而不是 wxStaticBitmap 可能会更简单,无论如何这是一个非常简单的类 - 然后你会可以在里面画出你想要的任何东西。

    【讨论】:

      猜你喜欢
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2015-06-06
      • 2012-03-22
      • 2019-06-04
      相关资源
      最近更新 更多