问题标签 [pygobject]

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 回答
1108 浏览

python - 如何为基于 glib/gobject 的库创建 python 绑定

我想为基于 glib/gobject 的库创建 Python3 绑定,即infinote/libinfinity

我对完成此操作的必要步骤感到有些困惑。PyGObject在这里帮助吗?本指南对 python3 和 PyGObject 仍然有效吗?
如果没有,我需要阅读什么来了解这将如何工作?
是否有任何工具可以(半)自动化该过程?

0 投票
2 回答
7653 浏览

python-3.x - 使用 python3 显示 PDF 文件

我想编写一个显示 PDF 文件的 python3/PyGTK3 应用程序,但我找不到允许我这样做的 python 包。
pypoppler,但它看起来已经过时(?)并且似乎不支持 python3(?)

你有什么建议吗?

编辑:请注意,我不需要花哨的功能,例如 pdf 表单、操作或写作。

0 投票
1 回答
245 浏览

python - 集成在 GTK3/PyGObject 中的 Python network/tcp 包


我正在用 Python3 和 GTK3 编写一个应用程序,我需要一些基本的网络库。

我有哪些选择?
我需要将一个包集成到 gtk 主循环中还是有其他方法?
扭曲的呢?在我的情况下,开发中的 python3 支持会起作用吗?(我认为 Twisted 支持 gtk 主循环集成?)现在使用它是个好主意吗?

很多问题:-)

谢谢,
法比安·亨兹

0 投票
0 回答
402 浏览

python - python GTK中没有回溯的浮点异常

我有一个正在开发的 GTK python 程序。我需要根据用户正在进行的活动类型来更改窗口的外观。我正在使用一个 Gtk.Grid() 对象,我计划只在需要显示的内容上调用 widget.hide() 并在需要显示更改的内容上调用 widget2.show()。我从来没有做过这样的事情,并且正在尝试。

GUI界面的一个例子是这个

当我单击按钮时,调用我创建的调用 Label1.hide() 等的可迭代对象。该界面是一个水平 Gtk.Box(),左侧是标签网格,右侧是按钮对象.

当我到达最后一个 Label3 然后单击“按钮”按钮时,程序意外退出,输出如下:

没有追溯。我认为它来自 GTK 本身。我正在使用使用 gobject 内省的 GTK3。

什么可能导致异常,有没有办法解决?

我相信我可以通过在乘坐最后一个 (Label3) 对象之前执行 Label4.show() 来解决这个问题。我只是好奇首先是什么原因。

我已经做了很多谷歌搜索,但似乎没有解决这个问题。

谢谢,

纳尼

0 投票
1 回答
879 浏览

python - 使用没有 X11 的 Python Gtk3 绑定

我有一个用 Python 编写的小应用程序,它使用 Python Gtk3 绑定。应用程序的一部分从系统图标主题加载图标,如下所示:

这正是我想要的——加载一个图标并给我一个GdkPixbuf.Pixbuf实例。

当我的单元测试运行时,问题就来了。我有测试此代码的测试,如果测试在开发人员机器上运行,一切正常。

但是,测试是在构建包之前自动运行的(作为我们 CI 过程的一部分),并且应用程序包是在无头服务器上构建的。所以我的问题是:有没有办法只使用IconThemeGtk3 中的类而不需要运行 X11?

0 投票
2 回答
1473 浏览

python - 如何在 Python、GTK3 和 PyGObject 中配置 GtkWidget?

我正在为 GTK3 程序创建一个插件。该插件可以在运行时启用或禁用。启用后,它应该在主机程序的给定区域(GtkBin)中填充其 GUI。禁用时,它应将自身从该区域中移除。

这个简单的程序描述了用法:

我希望当插件被禁用时,它添加到主机的所有小部件都应该被正确处理。

我发现这个问题非常相似:GTK 中的 Free object/widget? 它提出gtk_container_removegtk_widget_destroy。但我很担心:

  1. 考虑gtk_container_remove。它删除了宿主容器的直接子容器。就我而言,孩子也是许多其他小部件的组合,它们可能相互引用。删除直接子元素是否足以处理所有小部件?

  2. 考虑gtk_widget_destroy。它是递归的,似乎是我需要的,但也似乎太残酷了。手动销毁小部件真的有必要吗?把这项工作留给参考柜台会更好吗?

我愿意听听这个案例的“最佳实践”。

0 投票
3 回答
5182 浏览

python - GTK3下如何将文本域绑定到本地文件夹以获取gettext

gettext您可以使用默认的系统范围的语言环境目录,也可以使用bindtextdomain. 当编译的 .mo 翻译文件在系统的默认位置不可用时,这在直接从源代码运行程序时很有用。

在 Python 中,你会这样做:

其中/path/to/mo/folder包含熟悉的fr/LC_MESSAGES/nautilus-image-manipulator.mo结构。像这样调用:

从本地 .mo 文件中返回正确翻译的字符串,非常感谢。

在 GTK+2/pygtk 中,存在gtk.glade.bindtextdomain,但我想知道在 GTK+3/PyGObject 中是否有任何等价物。

举一个具体的例子,这是Nautilus Image Manipulator;s UI是如何从它的 Glade 文件创建的:

不是从 Glade 文件构建的部分 UI(即从代码设置)显示正确翻译,但 Glade 文件中的字符串仍以英文显示。

在我看来,我在调用builder.bind_text_domain('nautilus-image-manipulator', '/path/to/mo/folder')之前错过了对某种类型的调用builder.set_translation_domain...知道如何执行此操作吗?

0 投票
1 回答
2586 浏览

python - 如何更改pygobject“gtk3”中textview的背景?

我正在使用 python 在 gtk 3 中编写文本编辑器。在 gtk 2 中,我曾经 self.modify_base(Gtk.StateType.NORMAL, Gtk.gdk.Color(bg)) 在 PyGObject 中做我认为它必须对样式上下文做一些事情,但我不确定什么是正确的方法,我在网上只找到了这个文档,但这还不够: 我认为的python gtk3 教程这段代码可能是它的开始:

所以有什么想法吗?

0 投票
3 回答
6299 浏览

python - Windows 上 Python 3 中的 PyGObject

有谁知道是否可以在 Windows 上为 Python 3 安装 PyGObject/Gtk+3?我在 gnome 的网站上找到了 Python 2 的安装程序(here),还有几条声明它适用于 Python 3(例如, here),但没有安装程序。编译指令似乎都使用了jhbuild,据我所知是一个linux工具。我是否需要编译 PyGObject 才能使其工作,如果需要,如何?或者有没有更简单的方法?指南或操作指南会很棒,但似乎不存在这样的东西。

0 投票
2 回答
12074 浏览

python - 如何使用 GTK3 和 PyGObject 绘制 GdkPixbuf

我有一个小应用程序,它使用 a和DrawingArea绘制简单的地图。PyGObjectGTK3

我加载一个Pixbuf使用

然后尝试在DrawingArea's draw 事件信号中绘制它

但我收到错误消息

如果我正确阅读Gtk2 到 Gtk3 迁移指南,这应该可以。我究竟做错了什么?