【发布时间】:2014-06-23 07:27:41
【问题描述】:
使用 wxPython 我只想在wxGrid 的左上网格角单元格中呈现位图,但不知道如何执行此操作。
我得到了左上网格角单元格的窗口对象
mywindow = self.someGrid.GetGridCornerLabelWindow()
但现在我无法为这些 Window-Object 设置位图。有人可以帮帮我吗?
【问题讨论】:
使用 wxPython 我只想在wxGrid 的左上网格角单元格中呈现位图,但不知道如何执行此操作。
我得到了左上网格角单元格的窗口对象
mywindow = self.someGrid.GetGridCornerLabelWindow()
但现在我无法为这些 Window-Object 设置位图。有人可以帮帮我吗?
【问题讨论】:
您需要创建一个GridLabelRenderer。 wxPython 演示 中有一个示例,其中包含以下代码:
class MyCornerLabelRenderer(glr.GridLabelRenderer):
def __init__(self):
import images
self._bmp = images.Smiles.getBitmap()
def Draw(self, grid, dc, rect, rc):
x = rect.left + (rect.width - self._bmp.GetWidth()) / 2
y = rect.top + (rect.height - self._bmp.GetHeight()) / 2
dc.DrawBitmap(self._bmp, x, y, True)
要使用此渲染器,您必须执行以下操作:
g = MyGrid(self, size=(100,100))
g.SetColLabelRenderer(0, MyCornerLabelRenderer())
这会将图像放入第一列。
【讨论】: