如何在子标签显示其文本所需的大小下调整Python Gtk.Window的大小?

时间:2013-01-22 04:11:33

标签: python gtk pygobject

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

这是用于测试的代码: 来自gi.repository import 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()

1 个答案:

答案 0 :(得分:2)

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