示例#1
0
    def __init__(self, scene, x, y, caption, answers, done_cb, parent=None):

        self.w = 0
        self.h = 0

        super(DialogItem, self).__init__(scene, x, y, parent=parent)

        self.sp = self.m2pix(0.01)
        self.done_cb = done_cb
        self.fixed = False

        self.desc = DescItem(scene, 0, 0, self)
        self.desc.set_content(caption)

        self.items = []

        self.w = (len(answers) + 1) * self.sp

        for answer in answers:

            btn = ButtonItem(self.scene(), 0, 0, answer, self, self.answer_cb)
            self.items.append(btn)
            self.w += btn._width()

        y = self.sp
        self._place_childs_horizontally(y, self.sp, [self.desc])
        y += self.desc._height() + self.sp
        self._place_childs_horizontally(y, self.sp, self.items)
        y += self.items[0]._height()
        y += self.sp

        self.h = y
        self.update()
        self.setZValue(300)