问题标签 [gobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
199 浏览

linker - 如何链接到我自己的 GLib 版本而不是系统安装的版本?

我一直在查看GLibGObject的源代码并编写程序来使用它们的某些特性。但现在我想在 GLib 源代码中调试一些东西,而不在我的系统上安装任何东西。

我在某处有源代码的构建版本,我想使用那些 .so 文件而不是系统安装的文件,我不确定如何将它们链接到我的测试程序。我尝试在命令行上像 GCC 一样引用 GLib 和 GObject 的 .so 文件,但是我输入的跟踪语句没有运行,所以我怀疑常规 GLib 库仍在使用。

0 投票
2 回答
1512 浏览

python - Python 中是否有 gobject.timeout_add() 的替代方法?

我正在使用 gobject.timeout_add() 在我的项目(dojotools)中显示一个计时器。

我想知道是否有任何其他方法可以实现相同的结果,但没有 gobject 依赖项。

要求只是在一定的时间间隔内重复调用一个方法。

0 投票
2 回答
1862 浏览

gtk - 使用 `g_object_set_data` 传递用户名

我正在使用g_object_set_dataevent_box 设置用户名,因此在回调中我可以使用 event_box 指针获取它。

但问题是我设置的 user_name 不是指针分配的字符串。
它是一个被破坏的本地字符串(未在臀部分配)。

那么是否有必要分配然后使用指针,我只想将一个名称与这个event_box相关联。

0 投票
2 回答
4610 浏览

c - g_object_new 是否应该具有匹配的 g_object_unref?

我正在使用libnotify在我的应用程序中显示桌面通知;notify_notification_new() 返回 a NotifyNotification*,它应该作为第一个参数传递给通知库的进一步函数调用。

没有notify_notification_free()释放它返回的指针。我查找了源代码notify_notification_new()并在内部执行了 a g_object_new(),获取了GObject*并将其作为 a 返回NotfiyNotification*,所以当我的应用程序进行清理时,我应该g_object_unref()在返回的指针上调用 anotify_notification_new()吗?

0 投票
1 回答
166 浏览

python - 使用 Python 包装 gobjects 的最新文档

我正在寻找有关为 gobjects 创建 Python 绑定的最新文档和教程。我在网上可以找到的所有内容要么不完整,要么已过时。

0 投票
2 回答
3547 浏览

c - 有没有复制 Gtk 小部件的好方法?

有没有办法使用 C 中的 Gtk 库来克隆 Gtk 按钮(例如),并将其打包到应用程序的其他位置。我知道你不能两次打包同一个小部件。并且这段代码显然不起作用,但显示了当我尝试按钮的浅拷贝时会发生什么:

周围的代码创建了一个 vbox 并将其打包在一个窗口中并运行 gtk_main()。这将导致这些难以理解的错误消息:

同样,如果我要编写自己的 GObject(不一定是 Gtk 小部件),是否有编写复制构造函数的好方法。我认为它应该是一个带有可选钩子的接口,并且主要基于属性,以某种方式处理类的层次结构。

我想这样做:

如果 GtkButton 可以使用理论上的可复制接口。

0 投票
3 回答
1944 浏览

python - vala 库的 Python 绑定

我正在尝试使用以下IBM 教程作为参考来创建与 vala 库的 python 绑定。

我的初始目录有以下两个文件:

测试.vala

测试覆盖

并尝试test_wrap.c使用以下代码构建 python 模块源

构建.sh

但是,最后一个命令失败并出现错误

这是 pygobject 中的错误,还是我的设置有问题?从 python 调用用 vala 编写的代码的最佳方法是什么?

编辑: 删除额外的行修复了当前的问题,但现在当我继续构建 python 模块时,我面临另一个问题。将以下C文件添加到目录中现有的两个中:

测试模块.c

并使用以下脚本构建

构建.sh

导致错误:

init_pygobject符号在哪里定义?我错过了什么链接?

0 投票
1 回答
1143 浏览

python - 在 PyGTK/GObject 中使用枚举属性

这篇关于在 Python 中使用 GObject 的教程只介绍了使用 type 的属性gobject.TYPE_FLOAT

我已经对其进行了调整以使用枚举类型:

...但是当我尝试运行它时,出现以下错误:

我错过了什么?

0 投票
1 回答
176 浏览

c - 防止 GSignal 传播到进一步注册的 GCallbacks

如何防止从 GSignal 中的第一个信号处理程序回调调用进一步的信号处理程序?

例如,我为同一个信号“mysignal”注册了三个函数 - func1、func2 和 func3。如果先调用 func1,如何防止 func2 和 func3 从 func1 调用?

这不应该成为永久性的。它应该是运行时的。即 func1 可以根据它得到的输入参数来决定 func2 和 func3 是否可以得到回调。

0 投票
1 回答
3145 浏览

python - 为什么 python gstreamer 在我的脚本顶部没有“gobject.threads_init()”时会崩溃?

我编写了一个 python 脚本来使用 gstreamer(pygst 和 gst 模块)来计算 replaygain 标签,并且它与各种 gobject 错误不一致地崩溃。我在某个地方找到了可以通过将以下样板放在脚本顶部来解决此问题的地方:

我试过了,它奏效了。谁能解释为什么这些行是必要的,以及为什么 pygst 自己不这样做?