Gtk4 GridView 瓦拉

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

我正在尝试制作一个图像的 GridView,该图像可能会或可能不会根据上下文进行拖动

但是我什至无法创建对象,因为构造函数的参数对我来说没有意义

我如何制作这个对象或者有一些我可以遵循的例子吗? 该文档对我来说毫无意义。 我不想使用 ui 文件。

我不介意是否也能在 C 语言中找到帮助

c vala gtk4
1个回答
0
投票

嗯,我不认识Vala,但我可以尝试通过概念解释如何创建对象。成功创建对象后,我们可以讨论拖放问题。要创建 GridView,您需要:

数据对象:保存要显示的数据的对象(例如,将像项目一样显示的字符串)。

ListGio.ListStore或其他将包含数据对象的列表对象。

Selection:组件中可以做的Gtk.Selection的类型(none、single…),需要设置一个List作为Gtk.Selection的模型。

ItemFactory:ItemFactory 将创建一个要在 GridView 中显示的小部件(例如,用于显示类似项目的字符串的 Gtk.Label),并将向其添加列表中对象的信息(出现的字符串)在 Gtk.Label 中)。 ItemFactory 可以通过信号或通过 Builder 来完成此操作。 Gtk.SignalListItemFactory更容易理解,通过“setup”函数创建widget,并通过“bind”函数将数据对象信息连接到widget。两者都通过“bind”和“setup”信号连接到 ItemFactory。

最后,您需要 Gtk.GridView 来显示 ItemFactory 创建的小部件。创建完所有这些后,当您将Data Object插入到List中时,ItemFactory将调用“setup”函数,然后调用“bind”函数,Gtk.GridView将显示小部件对于该项目。

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