我正在编写Vala应用程序并使用GtkLabels'在里面。问题是,我使主窗口无法调整大小,当我添加带有长文本的标签时,窗口变得非常大(当窗口可调整大小时,所有标签都完美贴合)。我试图set_max_width_chars()
有一些价值,但它有点有效,但我想这不是正确的方法(因为用户的字体可能会有所不同,这不会影响我们的工作字体大小与我的不同。)
那么,问题是:如何以正确的方式做到这一点?
答案 0 :(得分:6)
您不能直接限制标签的宽度(max-width-chars
除外,它以字符为单位,而不是以像素为单位),但您可以通过影响包含它的框的大小来间接限制它。通过设置4不是标签的直接明显属性。
结果:
结果:
max-width-chars
设置为较小的正值(1
可以正常工作)ellipsize
设置为PANGO_ELLIPSIZE_NONE
hexpand
设置为TRUE
(或将标签的expand
设置为TRUE
,结果明显)fill
(作为其所在子箱的子项)设置为TRUE
(如果vexpand
也是TRUE
,您可能希望限制其填充仅限水平方向)结果:
max-width-chars
的正值有多小这适用于ellipsize
和max-width-chars
的标签和其他文字小工具(例如GtkCellRendererText
内的GtkTreeView
)。
使用GTK + -3.18.2进行测试
答案 1 :(得分:0)
我认为您的标签应放在容器中,并且封闭容器的尺寸应适当。如果这对您没有用,建议您考虑发布截图以更好地了解您的要求。