- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在阅读 GStreamer 应用程序开发人员手册,它在消息处理/事件处理的上下文中讨论了管道总线,他们讨论了 2 个函数:gst_bus_add_watch() 和 g_signal_connect()。看来这两个功能是可以互换的。应用手册说:
Note that if you’re using the default GLib mainloop integration, you can, instead of attaching a watch, connect to the “message” signal on the bus.
第 27 页。这两个函数有什么区别,它们在什么情况下有用?谁使用我们在这些函数中注册的回调?元素本身是否调用回调?
最佳答案
如果您正在使用 gst_bus_add_watch(),那么您将提供一个回调,当消息可用时将调用该回调。
如果您调用 gst_bus_add_signal_watch() 那么它会注册一个默认回调,该回调会将 GSource 注册到主循环。这使得可以使用信号。
它在功能方面是等效的,但是如果您是编写一个基于 glib/gtk 的应用程序,在任何地方使用信号可能会使您的代码更加一致。
关于c - gst_bus_add_watch() 和 g_signal_connect() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37220063/
我正在尝试编译一些代码,但出现以下错误: error: invalid use of member (did you forget the ‘&’ ?) 这是来自 g_signal_connect 调
我正在尝试连接一个对象以销毁一个小部件,但什么也没有发生,而且我收到了一个错误 调用如下: g_signal_connect(bKill, "clicked", G_CALLBACK(AppWindo
我得到的代码适用于鼠标左键单击按钮,但我将如何使用它来获取鼠标右键单击信号: g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(butt
根据 GObject 引用 g_signal_connect_swapped(instance, detailed_signal, c_handler, data); connects a GCall
通过 g_signal connect,我尝试使用“数据”字段传递一个简单字符“S”的参数。 ???(我想我明白该字段不是用于数据的,而是用于指向数据的指针。)??? 无论如何,我有这样的代码: g_
我使用 gtk 创建了一个窗口。然后我想向按钮添加点击事件。我尝试了几种方法但没有成功 #if GTK_CHECK_VERSION(3,0,0) GtkBuilder* builder = n
我有这段代码: int gui_showScore(struct Game *game) { printf("%p\n", game); return NO_ERROR; } int
我已经创建了一个用于创建 gtk 主窗口的简单类。 我想知道将类成员函数作为参数传递给 G_CALLBACK 函数的正确方法是什么? 为什么 g_signal_connect(button, "cli
无法让 g_signal_connect 正确传递参数。可能是因为我不理解“c_handler”或“data”参数。代码在这里: #include // Function prototypes vo
我正在尝试学习如何在 gstreamer 中使用动态垫。因此,我尝试添加填充添加信号,以便在创建元素后我可以收到消息。但是,我没有收到任何消息。 这是代码: #include static void
我正在尝试在我的项目中使用 Glade 来生成一个包含窗口、网格的文件……但是当我尝试监听单击我的按钮的事件时,我遇到了一个错误,我不明白为什么 :s 我遇到了那些错误.. GLib-GObject
我正在阅读 GStreamer 应用程序开发人员手册,它在消息处理/事件处理的上下文中讨论了管道总线,他们讨论了 2 个函数:gst_bus_add_watch() 和 g_signal_connec
刚开始接触GTK+编程,一个星期以来我主要遇到了一个大问题,这里代码解释一下: for(j=1;ji); } 我通常应该得到我用 a.i=i 初始化的 i;因为我没有得到 i 和 j 的 requie
我试图找到一个类似的问题,但找不到任何解决方案。 我有一个使用 GTK3 用 C 语言编写的软件,我正在尝试为在我的 GUI 上按下按钮设置一个回调。该代码应该传递一个整数作为参数,让我的回调函数知道
所以,我正在努力实现以下目标: 用户正在选择文件,该文件的路径保存在变量文件名中。选择文件后,用户通过复选框选择要设置的 chmod。 我有这样的东西: g_signal_connect (ux, "
// gcc 1.c -o 0 $(pkg-config --cflags --libs gtk+-2.0) #include #include struct tst { GtkWidge
我正在尝试通过 g_signal_connect 传递堆中分配的数据,但它显示出一些奇怪的行为。 我是这样传递值的: int *test = new int(100); g_signal_connec
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
g_signal_connect() 需要一个 gpointer、一个字符常量、一个 GCallback 和另一个 gpointer 作为参数. 我正在阅读 Foundations of GTK+ 这
我看过GTK+ g_pointer_connect passing data incorrectly但即使在尝试按照人们所说的去做之后,我的问题仍然存在。 我需要做的是从数组数组中传递一个数组。 声明
我是一名优秀的程序员,十分优秀!