我正在尝试在对话框中插入文本标签,但是当我将对象设置为(X = 0,Y = 0.5)并且换行设置为True时,文本不会填充整个水平空间。 / p>
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()
答案 0 :(得分: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()