2012-10-17 63 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

相關問題