问题标签 [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.
gtk - gobject 自省与自动工具的集成
我想通过启用一个使用 GNU 的自动工具构建的库来生成 Gobject Introspection 文件,从而为开源做出贡献。
GObjectIntrospection 的 wiki 页面上已经提到了如何实现这一点:
在 Autotools 中集成 GI
GObjectIntrospection/AutotoolsIntegration 如何将库的构建系统与 gobject-introspection 集成
不幸的是,wiki 页面上的链接不起作用。
那么如何在 autotools 项目中启用从给定的头文件集中生成 GIR 文件呢?
python - 使用 pygtk 更新无人维护的软件
我正试图让一个旧软件恢复工作。它是一个独立的数据库客户端,它的图形界面python-glade
用 python 模块描述和使用/使用gtk
。
我上次用它的时候是两三年前的事了,那个时候开箱就可以安装。我不知道它适用于不同库的哪些版本。
我最初想在虚拟环境中隔离它的依赖项,但其中两个是pygtk
and gobject
,这似乎很难pip
在 linux 上安装,我担心我最终会得到一个相当脏的类似名称的全局安装库。
该软件的原作者说他最近没有太密切关注 gtk 的发展,他暗示用import gtk
with代替from gi.repository import Gtk; gtk = Gtk
,但如果我这样做,我会在库模块中遇到分段错误:
无论如何,我不知道从哪里得到gdk
,这也是使用的。
一个严重的问题是我不清楚模块之间的区别是什么:pygtk
, gtk
, gi.repository.Gtk
.
python - 如何在 setup.py (和所需的 C 库)中声明对 gi.repository 的依赖?
我正在通过 gobject 内省打包一个依赖于几个 C 库的 python 应用程序。我想确保至少安装了 glib 中的 python 模块(即 gi 模块,在 Debian 中打包为 python-gi,我不是在谈论已弃用的 PyGObject 模块)。将其添加为常规依赖项会使安装失败,因为它不在 Pypi 中。
我应该如何声明?我查看了一个 setuptool 文档,但我没有看到任何东西可以解决问题。
谢谢。
相关问题:
python - GStreamer error "assertion 'GST_IS_ELEMENT (src)' failed" when linking elements
I'm working on a GStreamer-based program using Python and the GObject introspection bindings. I'm trying to build this pipeline:
The pipeline works perfectly using gst-launch-1.0, but my Python program gives the errors:
My code:
python - PyGObject 自定义小部件:如何绘制无效区域?
我知道您需要Gtk.DrawingArea
在 PyGObject 中进行子类化才能创建自定义小部件。然后将draw
信号连接到如下所示的回调:
要要求重绘,你会打电话给my_widget.queue_draw()
.
现在,我知道您可能会要求使用 重绘曲面的特定区域my_widget.queue_draw_area()
。当您的on_draw
回调在此之后被调用时,您如何知道要绘制的区域?
python-3.x - Travis-ci & Gobject 内省
我正在尝试将 Travis 设置为Get Things GNOME!. 我的.travis.yml:
但是,构建失败:
模块gi._gi
应安装为 packge python3-gi
。
为什么 Travis 不能导入gi
模块?
python - 如何在python中导入gda-ui模块?
我正在尝试在 python (3.4) 中开始使用 libgda。要导入 Gda 模块,我会这样做from gi.repository import Gda
我想使用GdauiTreeStore
但我不知道如何导入 Gda-ui 模块...
这样的事情没有奏效:
from gi.repository import Gdaui
from gi.repository import GdaUi
from gi.repository import GdaUI
from gi.repository import Gda-ui
from gi.repository import Gda-Ui
from gi.repository import Gda-UI
(与下划线而不是破折号相同)
python - python Gtk+ 3中窗口/应用程序的键绑定,没有菜单项、UI管理器等
我正在尝试将 Python 中的 GTK3 和 Cairo 用于最小的绘图应用程序,其中 Cairo 输出的屏幕显示是为了方便用户。
典型的用法是我运行一个命令,屏幕上会弹出一个绘图并写入文件,我希望能够尽快关闭窗口,理想情况下只是一个“q”键,但也是常见的 Ctrl -W 和 Ctrl-Q 除了默认的 Alt-F4(真的有人经常使用吗?!?)。
我还希望窗口中的 UI 混乱尽可能少:理想情况下只是标准的窗口环绕,没有菜单、工具栏等。
那么......我如何将我的“q”、“Ctrl-Q”等键绑定绑定到Gtk.main_quit
而不必 a)创建一个杂乱的下拉菜单栏和 b)Gtk.UIManager
通过 Python Gtk+ 3 关注的重量级此处的文档:http: //python-gtk-3-tutorial.readthedocs.org/en/latest/menus.html。我希望这是可能的,并且不需要大量代码(至少不像设置所有菜单那样多!),但我在网上的任何地方都找不到示例:也许我只是在搜索错误的术语,作为 GTK 新手。
不幸的是,似乎没有任何关于制作这样一个最小的加速器设置的文档,并且配置加速器键的代码在 GTK2 和 3 之间似乎有很大不同......感谢您的帮助。
python - 如何从 python 调用 vala 构造函数?(使用 GObject 内省)
我想要一个用 Vala 编写的共享库,它被 Python 应用程序调用。
所以我用两个对象创建了这个 Vala 库,每个对象都有一个函数。
唯一的区别是Bar在构造函数中接受一个参数,而Foo没有。
并使用 valac 将其编译为共享(.so)库。
Valac 还生成了一个.vapi和一个.gir文件。
我从.gir文件生成了一个.typelib文件。
然后我写了一个小的 Python 应用程序,它应该使用这个库。
在执行之前,我必须设置两个环境变量,让 python 知道在哪里可以找到 typelib 和库文件。
export LD_LIBRARY_PATH=.
export GI_TYPELIB_PATH=.
创建Foo类型的对象(构造函数中没有参数)有效,但Foo构造函数(Vala 代码)中的打印语句未执行。
当我想创建一个Bar类型的对象时,我必须在构造函数中省略字符串,否则 Python 会抱怨构造函数没有接受参数(即使它应该接受一个参数!)
除此之外,这两个对象都可以正常工作。使用参数调用对象方法(两个对象)可以正常工作并正确打印所有内容。
有人可以告诉我我做错了什么吗?
我似乎不可能从 Python 调用任何类型的 Vala 构造函数。
对象被创建,但没有调用构造函数代码。
python - webkit (webkitgtk3) 函数原型,如从 pywebkit 的 python 中看到的
pywebkit 通过自省从 python 调用 webkit。被调用函数的原型是在运行时绑定的。开发人员的一个小问题是您不会在源代码中看到原型。你如何找到函数原型?特别是“add_event_listener”?
这段 python 代码来自 pyjs.org pyjs/runners/giwebkit.py:
在 fedora 20 上运行时会出现以下错误:
如何找出传递给函数“element.add_event_listener()”的参数及其类型是什么?我可以插入一段python代码来打印出来吗?
我搜索找到 add_event_listener() 的原型,但无法轻松找到答案。所以我在想是否可以从调用代码中做点什么。
谢谢。
编辑:更改原始标题“python 打印函数原型和/或参数,专门用于 webkitgtk3 中的 add_event_listener”以更好地反映实际问题。