pygtk:覆盖gtk.Paned.compute\u位置

2024-10-05 10:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个hpane,它的一个孩子经常改变它的大小要求,因为它的文本变化。结果是每次更改文本时窗格都会移动。我想覆盖平移.u位置方法,使孩子的大小不会减少,只是增加。但是,我找不到方法来覆盖它。甚至

class MyHPaned(gtk.HPaned):
    def do_compute_position(self, allocation, child1_req, child2_req):
        print "Hi"
        return gtk.HPaned.compute_position(self, allocation, child1_req, child2_req)
gobject.type_register(MyHPaned)

不起作用。你有什么建议吗?谢谢!你知道吗


Tags: 方法文本selfgtk孩子positionreqcompute
1条回答
网友
1楼 · 发布于 2024-10-05 10:20:18

重写gtk_paned_compute_position是不可能的,因为该函数在GTK本身中不是虚拟的。另外,gtk_paned_compute_position被标记为内部的,不推荐使用,并且在GTK+-2.24.x源代码的任何地方都没有被调用。我怀疑导出它只是为了找出分隔符的位置,而不是通过重写来影响分隔符。你知道吗

与其试图覆盖HPaned.compute_position,不如在窗格中放置一个子容器(例如gtk.Bin的子容器),该容器通过挂接到size-allocate信号并调用具有所需大小的set_size_request来实现所需的调整大小策略。HPaned将自动遵守这一点。你知道吗

相关问题 更多 >

    热门问题