问题标签 [gobject-introspection]

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 投票
0 回答
265 浏览

python - 使用 Python + Gtk+ 时不遵守 GTK_DEBUG

我在 macOS Sierra 10.12.4 上使用 Python 3.6 和 Gtk+ 3.22.18(通过 Homebrew 安装 Python 和 Gtk+)。我发现GTK_DEBUG环境变量和--gtk-debug参数都没有任何效果。然而:

  • 它们适用于非 python 应用程序,例如GTK_DEBUG=modules gtk3-demo
  • --gdk-debug和其他论点确实有效
  • 其他环境变量受到尊重,例如GTK_THEME.

只有这不起作用:

我很确定我正在为 python 和非 python 应用程序使用相同的 Gtk+ 库。我进行了搜索,只找到了一组。

我知道 Homebrew 用--enable-debug=minimal. 为了确保这不是罪魁祸首,我在没有那个标志的情况下重新编译了它,现在可以使用 Gtk 检查器--gtk-debug=interactive- 但仍然只能在 C 应用程序中,而不是在 Python 应用程序中。如何使用 GTK_DEBUG?

0 投票
1 回答
783 浏览

python - 从 xid 获取 GDK 窗口,在 Wayland 下

简而言之:这是如何从 xid 获取 Gdk 窗口的重复?,但在韦兰之下。

在我将 Debian 从 Stretch 更新为 Buster 之前,如下代码运行良好:

不幸的是,gdk_display现在是 a __gi__.GdkWaylandDisplay,所以GdkX11.X11Window.foreign_new_for_display抛出

那么我现在如何得到我的gdkWindow呢?(我根本无法在线看到必要的文档,因此也将不胜感激。)

我很高兴也gdkWindow能从 PID 或进程名称中获得,因为这是我从中获得 XID 的地方。

0 投票
0 回答
1844 浏览

python - gi 可以在 windows 下工作吗?

经过几天对 stackoverflow 和 web 的研究,并尝试使用 pip、pacman、MSYS2、python -m 导入和安装,并在这里研究,我得出的结论是 gtk、gi.repository 还没有为 Windows 做好准备。所以我正在寻找另一个库来帮助我在网格中排列图片,然后我可以拖放以切换它们在网格中的位置。如果我对 gi 在 Windows 上工作有误,请解释如何安装它!这是我想开始的示例代码。我使用 vscode 作为 ide,所以我不确定它是如何适应的。大多数类似的帖子都是特定于 linux 而不是 windows。

0 投票
1 回答
240 浏览

gnome-shell - 是否可以在 Gnome Shell 环境之外导入 Gvc 类型库?

我想使用GJS中 Gnome Shell GIR 中使用的 Gvc ( libgnome-volume-control ) ,但除了在 Gnome Shell 环境中(例如 Gnome Shell 扩展)之外,找不到访问它的方法。实际上,我什至无法弄清楚它在哪里。这可能吗?

更新

根据 Philip Withnall 的评论(关于 hacky 解决方法),我发现可以像这样导入:

0 投票
0 回答
158 浏览

python - gobject自省属性在python中不可用

我在使用 python 内省和自定义 Gstreamer 元素时遇到了一些问题……我无法访问该元素的属性。这是我的 gstreamer 元素中的相关代码:

这些属性显示在 gst-inspect-1.0 中。下面是一个尝试在 python 中访问属性的示例:

0 投票
1 回答
178 浏览

vala - 我在哪里可以找到 libgimp 的 vala 绑定?

我在哪里可以找到 libgimp 的 vala 绑定?

或者,有人可以指出我清除(完整)说明以从 gimp 源代码中获取它吗?https://wiki.gnome.org/Projects/Vala/Bindings上的说明对我来说真的太轻了。

0 投票
0 回答
146 浏览

python - Python3/GTK3 Box 按钮按下事件

编辑:原来这EventBox正是我所需要的。它完全按照预期插入并运行!

我正在开发一个应用程序,其单个窗口将在特定条件下闪烁,直到用户单击它。单击后,窗口将停止闪烁,直到再次满足条件。

这一切都很可爱。

现在,该应用程序已经发展到需要以前的几个窗口(上述单个窗口的几个实例)Gtk.BoxGtk.Grid.

以前的方法称为此附件:

但是,一旦个人Gtk.Windows 变成Gtk.Boxes,这种方法就停止了工作。回调根本不会被触发。

根据这个页面,我希望这button-press-event将是从继承的 69 个信号之一Gtk.Widget。我错了吗?看来我必须是。

我应该如何检测 a 收到的点击Gtk.Box

0 投票
1 回答
117 浏览

python - 如何从 Python 调用 `gdk_frame_clock_get_refresh_info`

在尝试在 Python 3 脚本中使用 GTK 3 帧时钟时,我发现我不明白如何调用gdk_frame_clock_get_refresh_info(). 我首先尝试了显而易见的get_refresh_info()方法,调用由返回的对象的方法get_frame_clock()

那失败了:

C 函数确实有四个参数,但最后两个是指向gint64. 在 Python 版本中,当使用除三个数字之外的任何内容调用该函数时,该函数会引发类型错误。当使用三个数字调用时,整个过程会因分段错误而崩溃。

这是 GDK 的自省规范中的错误gdk_frame_clock_get_refresh_info吗?是否有解决方法或获取刷新间隔的不同方法?

0 投票
1 回答
191 浏览

python - 如何从 PyGObject 获取 GObject.Callback?

我正在尝试将回调函数添加到Gtk.Builderusing Gtk.Builder.add_callback_symbol。我试图将 python 函数传递给它,但这不起作用。文档说我需要通过 aGObject.Callback而不是,所以我尝试通过调用来投射一个,GObject.Callback(myfunc)但得到了一个NotImplementedError. GCallback 上的C 文档说我需要使用称为G_CALLBACK类型转换的东西。但是在 PyGObject 中似乎没有对此的任何引用,我当时迷路了。

我想提前说,我知道回调也可以通过使用'Gtk.Builder.connect_signals'来添加,但这不是这里的问题。

0 投票
2 回答
719 浏览

python - 如何使用 libSoup 和 GI 发出 HTTP GET 请求?

我想https://httpbin.org/get在 python 中使用 GObject-introspection (gi) 向 libSoup GLib 库发出一个简单的 HTTP GET 请求。

你怎么做到这一点?