我创建了一个小部件,用于绘制数据并允许用户进行选择:
https://gobblin.se/u/kellogs/m/bildschirmfoto-vom-2013-11-12-13-23-54/
可悲的是,在此屏幕截图中应显示多个选项(此处为红色),但渲染此模型的因某些原因无效。我确信,数据可用并且渲染被调用并且工作正常(正确的位置和尺寸)
所以我的小部件只是创建一个cairo表面,用于以下方法的迭代,以在绘制的数据行之上呈现选择:
def render_to(self, cairosurface):
'''external trigger to redraw widget on channel widget surface (only within plotarea!)'''
cr = cairosurface
pos_x=self.__getXPos()
w = self.__getWidth()
h = self.__getHeight()
eogclass=self.eogclassification.eogclass
#background
r,g,b=eogclass.color
alpha=0.9
color=(r,g,b,alpha)
cr.set_source_rgba(*color)
cr.rectangle(pos_x, 0, w, h)
cr.fill()
#label
label=eogclass.name
cr.set_source_rgb(*eogclass.text_color)
cr.set_font_size(13)
(x, y, width, height, dx, dy) = cr.text_extents(label)
cr.move_to(pos_x+w/2 - width/2, h/2) #center within our block
cr.text_path(label)
cr.clip()
cr.stroke()
cr.paint()
有人可以给我一个提示可能是什么问题吗? 我不确定,但这可能是合成的问题吗?