我试图创建一个文本视图和在第二列4垂直对齐按钮布局。我尝试阅读文档,但窗口无法呈现或按钮保持水平对齐。
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object id="window" class="GtkWindow">
<property name="title">Test</property>
<property name="resizable">False</property>
<child>
<object class="GtkGrid">
<child>
<object class="GtkTextView" id="viewww">
<property name="overwrite">True</property>
<property name="visible">True</property>
<property name="monospace">True</property>
<property name="input_purpose">GTK_INPUT_PURPOSE_DIGITS</property>
<property name="width-request">400</property>
<property name="height-request">200</property>
<property name="left_margin">10</property>
<property name="right_margin">10</property>
<property name="top_margin">10</property>
<property name="bottom_margin">10</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="label">READ</property>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</object>
</child>
<child>
<object class="GtkButton">
<property name="label">WRITE</property>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</object>
</child>
</object>
</child>
</object>
</interface>
这是一个打包的例子,但是窗口没有呈现任何东西。这是GTK的问题吗?
我试过打包,嵌套网格,但都不起作用。
1条答案
按热度按时间lf5gs5x21#
您的示例似乎使用了
packing
,它只存在于GTK3中(顺便说一句,您的示例中packing
标记的位置是错误的。它应该在child
范围内,而不是object
)。在GTK4中,您可以使用layout
标记来获得类似的结果。GTK4的
.ui
文件示例(在应用一些修复后使用gtk4-builder-tool simplify --3to4 window.ui
生成):如果要更改布局,请使用
column
和row
值以获得所需的输出。对于预览保存到一些文件的内容,例如:
window.ui
和dogtk4-builder-tool preview main.ui