如何替换 GTK4 的 gtk_container_class_install_child_property

问题描述 投票:0回答:1

我在 GTK3 中有

gtk_container_class_install_child_property
的调用,我想将其移植到 GTK4。 GTK4 中的以下调用是如何完成的(因为不再有
GtkContainer
)?

gtk_container_class_install_child_property (container_class,
                                              CHILD_PROP_SOCKET_ID,
                                              g_param_spec_uint ("socketid",
                                                                 "numeric socket identifier",
                                                                 "numeric socket identifier",
                                                                 0, G_MAXUINT, 0,
                                                                 GTK_NODES_VIEW_PARAM_RW));
gtk gtk4
1个回答
0
投票

GTK4 仍然有容器小部件,但它们与 GTK3 中的不同。在 GTK4 中,容器小部件是那些管理多个子小部件并确定它们的大小和位置的小部件。 GTK4 中容器小部件的一些示例包括 GtkBox、GtkGrid、GtkStack、GtkPaned 和 GtkFixed。

但是,GTK4 删除或替换了 GTK3 中的一些容器部件,例如 GtkContainer、GtkBin、GtkAlignment、GtkButtonBox、GtkAspectFrame 和 GtkTable。这些小部件要么被认为是不必要的,要么对于某些用例而言过于具体。相反,GTK4 提供了更通用的机制来控制小部件的布局和外观,例如 GtkLayoutManager 和 GtkConstraintLayout。

因此,如果您想将 GTK3 应用程序移植到 GTK4,您可能需要用其他容器部件替换或自定义一些容器部件。

如何使用 GTK4 和 VFL 设计用户界面的示例可以在问题中找到:

https://stackoverflow.com/a/77619798/22768315

© www.soinside.com 2019 - 2024. All rights reserved.