如何扩展 Gtk 标签以填充整个水平空间?

Eri*_*rbe 5 gtk label pygtk

我正在尝试在对话框中插入文本标签,但是当我将对齐方式设置为 (X=0, Y=0.5) 并将换行设置为 True 时,文本不会填充整个水平空间。

\n\n

是一张图片

\n\n

这是Python中的示例代码:

\n\n
import gtk\n\nif __name__ == "__main__":\n\n    lbl = gtk.Label(\'Presione el bot\xc3\xb3n "Adelante" para iniciar la instalaci\xc3\xb3n del sistema. Despu\xc3\xa9s de este paso no podr\xc3\xa1 detener la instalaci\xc3\xb3n, as\xc3\xad que aseg\xc3\xbarese de que sus datos son correctos.\')\n    lbl.set_line_wrap(True)\n    lbl.set_alignment(0, 0.5)\n    lbl.set_justify(gtk.JUSTIFY_FILL)\n    lbl.show()\n\n    diag = gtk.Dialog()\n    diag.set_size_request(640, 480)\n    diag.vbox.pack_start(lbl)\n    diag.run()\n
Run Code Online (Sandbox Code Playgroud)\n

Mic*_*ick 4

将标签打包到对话框中时尝试设置“expand”和“fill”属性:

\n\n
diag.vbox.pack_start(lbl, True, True, 0)\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑

\n\n

你是对的。对不起。根据 GTK 参考手册:

\n\n
\n

请注意,将换行设置为 TRUE 不会使标签以其父容器的宽度换行,因为 GTK+ 小部件在概念上不能使其请求取决于父容器的大小。对于在特定位置换行的标签,请使用 gtk_widget_set_size_request() 设置标签的宽度。

\n
\n\n

因此,请先设置大小请求,GtkLabel而不是然后GtkDialog设置对话框,并让对话框自行调整大小。

\n\n
# -*- coding: utf-8 -*-\nimport gtk\n\nif __name__ == "__main__":\n\n    lbl = gtk.Label(\'Presione el bot\xc3\xb3n "Adelante" para iniciar la instalaci\xc3\xb3n del sistema. Despu\xc3\xa9s de este paso no podr\xc3\xa1 detener la instalaci\xc3\xb3n, as\xc3\xad que aseg\xc3\xbarese de que sus datos son correctos.\')\n    lbl.set_line_wrap(True)\n    lbl.set_alignment(0, 0.5)\n    lbl.set_justify(gtk.JUSTIFY_FILL)\n    lbl.set_size_request(640, 480)\n    lbl.show()\n\n    diag = gtk.Dialog()\n    diag.set_resizable(True)\n    diag.vbox.pack_start(lbl, True, True, 0)\n    diag.run()\n
Run Code Online (Sandbox Code Playgroud)\n