2012-10-17 66 views
4

我试图在对话框中插入文本标签,但当我将对齐设置为(X = 0,Y = 0.5)并将换行设置为True时,文本不会填充整个水平空间。如何扩展Gtk标签以填充整个水平空间?

Here是图像

说,在Python示例代码:

import gtk 

if __name__ == "__main__": 

    lbl = gtk.Label('Presione el botón "Adelante" para iniciar la instalación del sistema. Después de este paso no podrá detener la instalación, así que asegúrese de que sus datos son correctos.') 
    lbl.set_line_wrap(True) 
    lbl.set_alignment(0, 0.5) 
    lbl.set_justify(gtk.JUSTIFY_FILL) 
    lbl.show() 

    diag = gtk.Dialog() 
    diag.set_size_request(640, 480) 
    diag.vbox.pack_start(lbl) 
    diag.run() 

回答

3

尝试,当你收拾标签到对话框中设置“拓展”和“填补”性质:

diag.vbox.pack_start(lbl, True, True, 0) 

编辑

你是对的。抱歉。每GTK参考手册:

注意,换行设置为TRUE,不会使在其父容器的宽度烟标,因为GTK +部件概念不能使他们征用依赖于父容器的大小。对于包装在特定位置的标签,使用gtk_widget_set_size_request()设置标签的宽度。

因此,设置在GtkLabel代替GtkDialog然后对话框的尺寸要求,并通知从该对话框的大小本身。

# -*- coding: utf-8 -*- 
import gtk 

if __name__ == "__main__": 

    lbl = gtk.Label('Presione el botón "Adelante" para iniciar la instalación del sistema. Después de este paso no podrá detener la instalación, así que asegúrese de que sus datos son correctos.') 
    lbl.set_line_wrap(True) 
    lbl.set_alignment(0, 0.5) 
    lbl.set_justify(gtk.JUSTIFY_FILL) 
    lbl.set_size_request(640, 480) 
    lbl.show() 

    diag = gtk.Dialog() 
    diag.set_resizable(True) 
    diag.vbox.pack_start(lbl, True, True, 0) 
    diag.run() 
+0

我试过这样做,结果是一样的。更改参数会进行一些更改,但不会将文本扩展到右侧。 – erickcion

+0

修正了我的答案。 –

+0

谢谢,这个工作对我来说很好做: 'lbl.set_size_request(WIDTH,-1)' – erickcion

相关问题