有没有一种方法可以将属性添加到GTK小部件/对象中,以存储有关该属性的其他信息

时间:2018-12-29 19:17:06

标签: widget gtk3

我的项目中有很多GTK小部件/ GObject。我希望能够在创建每个对象时将一些信息附加到每个对象上,然后在将该对象传递给某个通用库例程时,能够检索此小部件/ GObject特定的信息以进行处理

我研究了GObject手册,并认为可以使用其中的一些例程。但是,每次我检查出某些内容时,都必须跟踪多个定义,这需要进一步研究。我迷路了。我在寻找一个简单的示例,可以使这一切成为现实。

我希望能够输入类似的内容(FreeBasic中的代码示例)

dim as GtkWidget Ptr widget = gtk_button_new("Press Me")

然后添加类似这样的行

add_property(widget,"username","Andrew Loy",-1)

然后在某个通用库错误报告例程中,将小部件存储在某个通用堆中。

Sub ReportError(widget as GtkWidget Ptr)
dim as Zstring ptr     NameOfUser

    get_property(widget,"username",@NameOfUser,-1)
    print *NameOfUser

我希望小部件/ GObject携带比标准GTK提供的更多的信息。一个简单的指针就足够了。

1 个答案:

答案 0 :(得分:0)

签出g_object_set_data(),它允许您使用字符串键将任何指针与GObject关联。

相关问题