问题标签 [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 投票
2 回答
81 浏览

python - 被称为 gobject 完成状态

在 python 脚本中,我进行了 gobject 调用。我需要知道,什么时候完成。有没有可能的方法来检查这个?是否有功能等要检查?

我的代码是:

我想开始另一个对象,等待第一个完成。我查看了 gobject 参考,但没有找到必要的东西。谢谢

0 投票
0 回答
2844 浏览

c - 无法针对 gobject-2.0 进行编译

我正在尝试学习 gobject 系统,因此我阅读了 gnome 站点上的一些文档,并制作了一个简单的 gobject,它是 GObject 的父级。我不想每次要编译时都继续运行gcc作业,同时我也想学习构建系统。我尝试了 autotools,我开始使用它来pkg-config搜索 gobject-2.0。

为了从命令行编译我的项目,我这样做:( gcc *.c $(pkg-config --cflags --libs gobject-2.0)我必须去掉额外的刻度以进行格式化)。无论如何<---这个命令有效。

但是:gcc $(pkg-config --cflags --libs gobject-2.0) *.c,应该是相同的命令,返回这个:

是的,这是与另一个订单完全相同的命令。我不知道出了什么问题。以下是 autotools/automake 的构建方式:

这是一些古怪的 gcc 编译吗?我用clang试过也无济于事,这让我觉得这是一个链接器问题?我真的不知道,并希望那里有人会。这很令人沮丧。

这是“违规代码”:

编辑:这是我的 autotools 构建的输出,无论如何都是 make 部分:

这是有趣的部分:替换gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -lgobject-2.0 -lglib-2.0 -o GObjectTest main.o myobject.ogcc -o GObjectTest main.o myobject.o -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -lgobject-2.0 -lglib-2.0它可以工作。

0 投票
2 回答
176 浏览

c - 如何创建一个可以从 C 中任何类型的 GTK+ 2.0 小部件继承的类?

如何创建一个可以从 C 中任何类型的 GTK+ 2.0 小部件继承的类?我知道如果我要使用 C++,我会有一个模板,它继承自它的参数并添加我需要的行为,如果我要使用 Objective-C 做类似的事情,我可能会使用 NSProxy 并将消息转发给类成员这是真正的视图控制器,但我不知道如何使用 GTK+ 2.0 在 C 中完成相同的任务。

如何创建一个可以从 C 中任何类型的 GTK+ 2.0 小部件继承的类?

PS有些人会问为什么。问为什么是公平的。正如我之前的问题所见,哪些 GUI 库不是面向对象的?我一直在挑战自己以非面向对象的方式进行编程。因为我想以非面向对象的方式进行编程,所以我需要对 GTK+ 2.0 中可用的所有类进行抽象,以呈现我想要的那种行为。具体来说,我需要让每个班级都继续工作。

一个简单的延续实现是:

一个想要向它的延续发送消息的类将不断地用它的 ip 应用到它的环境的结果替换它的延续,直到 ip 值指向(存根)函数 event_get。然后,该类将使用环境中的信息进行适当的响应,并获得新的延续,这样循环就可以重新开始下一条消息。

0 投票
1 回答
647 浏览

python - python gobject调用冻结gui

我正在使用带有 gtk 的 python。我想下载一个文件,当这发生时,我在窗口上绘制了一个动画 gif。但是每次下载开始时,gif都会冻结。我认为 gobject 调用应该解决这个问题,但似乎不像。

电话是:

在 gui 类中

和加载功能:

每次调用加载 gui 堆栈。有什么办法可以做得更好吗?

原始代码:

0 投票
2 回答
703 浏览

c - g_signal 延迟 (C, GTK+)

我有一个带有两个按钮(AB)和一个绘图区域(C)的小 GTK-Application 。当我单击A时,应重新计算C的大小并使用 gtk_widget_set_size_request() 进行设置。这将导致一个暴露事件,其处理程序将计算一些数据。此外,单击A将在B处发出clicked信号,其处理程序需要由Cexpose-event计算的数据。

事实上,一切正常,但暴露事件以某种方式延迟,并且单击的处理程序在之前被调用并且数据(您可能猜到了)丢失了。

我能做些什么?

0 投票
1 回答
428 浏览

python - 无法让 Avahi.ServiceResolver 工作

我正在尝试将当前使用 Avahi 原始 dbus 接口的一些代码移植到使用 Avahi gobject 接口(通过 python 的 gobject 自省)。

我得到了 ServiceBrowser,但我无法让 ServiceResolver 工作。这是我的代码:

示例输出:

在按下 ctrl-c 之前,我让它运行了大约 1 分钟。如您所见,我正在调用 ServiceResolver,但从未调用 sr_found 和 sr_failure 方法。我怎样才能让它工作?

(我在http://code.ohloh.net/上找不到任何其他代码,所以我怀疑我可能是第一个尝试这样做的人)

0 投票
1 回答
243 浏览

python - 从节奏盒插件启动 python 网络服务器

我正在尝试实现一个与节奏网类似的 Rhythmbox-plugin,但我在从插件中启动 HttpServer 时遇到了问题。

如果我像通常那样启动服务器(例如使用 make_server(...).server_forever()),插件会阻止节奏盒。所以我查看了rhythmweb,但每次我向服务器发起请求时都会出现段错误。这就是我所做的:

如果我用 self.__server.server_forever() 替换最后一行,一切正常,但节奏盒被阻止。

我的第二种方法是在一个新线程中启动网络服务器,它工作得很好,但是我在 django 应用程序中使用节奏盒外壳对象时遇到了一些麻烦。

所以我正在寻找一种方法来启动一个网络服务器,它不会阻止节奏盒,而是在同一个线程中运行。我不明白为什么第一种方法会导致段错误,因为韵律网也是这样做的。

我希望你能帮助我解决我的问题。

顺便说一句:我在 debian 挤压(测试)上使用 python 2.7 和节奏盒 2.97

0 投票
0 回答
399 浏览

linux - 制作 gobject-introspection-1.32.1 期间的 Linux 错误

我想在我的嵌入式 Linux 上安装 gobject-introspection-1.32.1。但在make此期间出现错误消息。

有人现在该怎么办吗?

0 投票
1 回答
220 浏览

python - PyGTK/Gobject 等待挂起的任务

我想在开始一项耗时的操作(将几兆字节的文本加载到 TextBuffer 中)之前修改我的 PyGTK 应用程序中一些标签的文本。但是当我尝试这样做时,标签更新直到 TextBuffer 开始加载文件(文本出现在查看器中)之后才会发生,这需要几秒钟,在此期间程序似乎已冻结。为了我的用户着想,我想在开始加载文件之前显示这些消息,按照我的代码编写顺序。我怎样才能做到这一点?有没有办法让我的程序等待 gobject 主循环中未决事件的执行?(这是我假设调用 gtk.Label.set_text 的地方)

0 投票
1 回答
1736 浏览

glib - 在 Gobject 中获取父类

我是 GObject 的新手。我对获取一个类的父亲的指针感到困惑。例如,在 Gobject Spec 中,我们有一个类:

有什么区别:

g_object_classparent_class有什么区别

还有一个问题:铸造 MamanBarClass(klass)MAMANBARCLASS(klass)之间的区别 谢谢!