更新内容后,GtkLabel没有换行

时间:2014-12-01 23:21:50

标签: gtk gtk3

这是我正在使用的代码:

    messageCrypte= gtk_label_new("");
    gtk_widget_set_size_request(messageCrypte, 400, 100);
    gtk_label_set_line_wrap(GTK_LABEL(messageCrypte), TRUE);
    gtk_grid_attach(GTK_GRID(cryptTab), messageCrypte, 0, ++i, 2, 1);

当我通过将字符串传递给gtk_label_new手动初始化标签时,文本被包装, 但是在更新GtkLabel时,它会将窗口大小增加到无限,而不包装,

来自文档:

  

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

我做了所说的但没有结果!

1 个答案:

答案 0 :(得分:0)

问题出在包装模式, 包装模式是' ... WORD'默认情况下,这意味着它会在以下情况下换行: (超出限制并且有一个新词) 但我正在输入一个不包含空格的字符串示例,因此它会将其视为一个单词, 但是当将包裹模式设置为' ... CHAR'它会在以下时间换行: (超出限制并且有一个新的字符)第二个条件总是经过验证,