【问题标题】:How to resize a PythonGtk.Window under the size that a child label needs for showing its text?如何在子标签显示其文本所需的大小下调整 PythonGtk.Window 的大小?
【发布时间】:2013-01-22 04:11:32
【问题描述】:

我有一个顶级 Gtk.Window,其中唯一的孩子是 Gtk.Label。
如果标签显示其文本所需的宽度是 XXX 像素,我无法调整低于 XXX 像素的顶级窗口的大小。如果我将标签的 size_request 也设置为 5,5,就会发生这种情况。
我希望能够在隐藏部分标签文本的 XXX 像素下调整窗口宽度。

这是测试代码: 从 gi.repository 导入 Gtk

class Window(Gtk.Window):

    def __init__(self):
        super(Window,self).__init__()

        self.label = Gtk.Label("long text label bla bla bla bla bla bla")
        self.label.set_size_request(5,5)
        self.add(self.label)

        self.connect("delete-event",Gtk.main_quit)
        self.show_all()

if __name__ == "__main__":

    app = Window()
    Gtk.main()

【问题讨论】:

  • 如果您将窗口内容包装在Gtk.ScrolledWindow 中,它可能会让您缩小。但它可能不适用于尺寸请求。
  • 是的,但我不想要滚动条,如果我将策略设置为 NEVER,我将失去缩小的可能性

标签: python gtk pygobject


【解决方案1】:

尝试使用gtk_set_ellipsize_status 更改标签的椭圆大小状态。然后,最小请求大小将是省略号“...”之一。选择正确的Pango ellipsize mode。很遗憾我找不到任何 PyGObject 在线文档,所以我不得不链接到 C 和 pyGTK 文档,但你可以从中找到 PyGObject 的等价物。

【讨论】:

  • 你也知道其他小部件该怎么做吗?
  • 另一个话题,另一个问题。你会增加别人知道你的问题答案的机会。
猜你喜欢
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
相关资源
最近更新 更多