2

如何即时刷新笔记本?

我有一个应用程序,它应该根据底层模型中的数据具有不同数量的页面。为了同步笔记本的外观,我想在每次从模型中添加/删除一行时刷新它。

我试过这个:

    ...
    def get_pagebox(self, label)
        ...
        return pagebox
    def _reinit(self):
        for child in self.notebook.get_children():
            self.notebook.remove(child)
        for label in self.get_labels():
            self.notebook.append(self.get_pagebox(label), label)
        self.notebook.queue_draw_area(0,0,-1,-1)
    ...

它会删除旧页面,但无法附加新页面。可能是什么问题,您认为如何解决?

4

2 回答 2

4

show_all()添加新页面后,您应该在笔记本上调用。GTK+ 创建的所有小部件最初都是隐藏的。queue_draw_area通话应该没有必要。

于 2009-07-14T08:12:38.740 回答
2

看起来不错。添加后,您是否尝试show()对小部件进行显式处理?

于 2009-07-13T11:47:25.363 回答