每当我有一个
Gtk.Box
且内部有 Gtk.TextView
时,在调整窗口大小之前,文本视图不会正确显示。
以下是示例的屏幕截图:
让我向您展示一个最小的可重现示例,其中
Gtk.Box
包含 Gtk.TextView
直接作为窗口的子窗口(蓝图中的 UI 描述):
template $ExampleWindow : Adw.ApplicationWindow {
Box {
orientation: vertical;
TextView { }
}
}
当我打开窗口时,看不到任何文本视图。改变窗口大小后出现。
Kripto在他的回答中建议将
vexpand
的Gtk.TextView
设置为true
。这解决了问题,但我希望文本视图保持尽可能小(例如,一行文本显示一行,两行文本显示两行),并且不要垂直扩展。
我不知道调整窗口大小时小部件会发生变化,但是如果您希望 Gtk.TextView 水平和垂直扩展,则必须添加 vexpand 和 hexpand。
这是 BluePrint 中的示例:
using Gtk 4.0;
using Adw 1;
template $ExampleWindow: Adw.ApplicationWindow {
default-width:600;
default-height:400;
Box {
orientation: vertical;
Adw.HeaderBar{}
TextView {
vexpand:true;
hexpand:true;
margin-top:30;
margin-end:30;
margin-start:30;
}
}
}