问题标签 [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.
python - 在小部件中存储自定义信息,gobject-introspect
有没有办法用小部件存储自定义信息?
例如,假设我有一个包含 20 个网址的列表。
我创建了 20 个按钮,每个 url 一个。
我想这样做,所以当我单击一个按钮时,会打开一个 url。但是我需要一种方法来知道哪个按钮链接到哪个 url,所以当按钮被点击时,我可以将 url 传递给事件处理函数来打开它。
我想到的另一个解决方案是创建一个扩展 Gtk.Button 类的自定义类,就像这样
然后我可以简单地做 button = MyButton(url)
但这似乎有点矫枉过正。所以我想知道我是否可以在小部件本身上存储自定义信息。
python - 调试 python gtk3 应用程序
我正在用 python 和 gtk3 编写一个文本编辑器,当我关闭一个窗口时,我不断从 glib 中的某个地方收到模糊的警告:
我该如何调试呢?我尝试在 gdb 中运行它,希望我可以从 g_logv 的断点中学到一些东西,但是警告出现但没有触发断点。由于https://bugzilla.gnome.org/show_bug.cgi?id=670507 ,我也无法轻松替换日志处理程序。
我什至尝试更改消息中引用的 python 文件,以便它始终在该点打印 python 回溯,但无论是否发生错误都必须这样做,并且在每个 gobject 方法调用时都会调用它,所以很难解释结果,它仍然没有告诉我关于哪个指针为空的任何信息。
python - Gtk.TreeView 中的 Gtk.Entry (CellRenderer)
我想将 a Gtk.Entry
(已Gtk.EntryCompletion
连接)打包到Gtk.TreeView
. 有谁知道如何做到这一点?(我只需要在表格视图中的文本条目上完成条目。)
我是否可能需要继承Gtk.CellRenderer
orGtk.CellRendererText
并覆盖该start_editing
方法(或类似方法)?我可以找到 subclassing 的示例Gtk.CellRenderer
,但不能修改可编辑的行为。我也找不到该Gtk.CellRendererText
课程的源代码。
我正在使用 Gobject Introspection(即from gi.repository import Gio, Gtk, GLib, Gdk
)。
python - Python GI Notify 如何调用 Gtk.main()?
我正在尝试创建一个 Python 通知应用程序。简而言之,这是我想做的:
1. 检查我的 gmail 帐户
2. 显示未读邮件数量的通知
3. 显示一个允许我打开 chromium 的按钮(使用系统调用)
现在一切看起来都很好。检查邮件部分很容易。我序列化了我的未读邮件计数,这样通知就不会每分钟都出现。它仅在我有新邮件时显示。
我阻止的地方是我不知道如何创建主 gtk 循环以便我可以处理按钮信号。
这是我的代码:
我记得我的通知过去可以与 pygtk 和 pynotify 一起正常工作。虽然我想更新我的代码并且因为我丢失了最后一个代码,但我对此一无所知。在我的 main 中调用 Gtk.main() 只会阻止程序,直到我杀死它。
我正在使用 Gnome3.6、Archlinux 和 python3.3。
那么有谁知道如何在程序结束之前“等待”信号处理程序被点击?事实上它运行良好,但脚本只是在显示通知时结束并且它不等待信号。
非常感谢 :)
编辑:我的问题的更多细节:
如您所见,程序已经结束并且不等待信号。这就是我现在要解决的问题。
gobject-introspection - g-ir-scanner 无法生成 gir 文件
我正在尝试从一个非常简单的库生成一个.gir文件;它基本上是 GLib 文档中的 GObject 示例。使用 g-ir-scanner 时,失败并出现以下错误:
我真的不知道出了什么问题。有任何想法吗?
c++ - 将 C++ 绑定与 GObject Introspection 结合使用
我决定在我的项目中使用Goffice库。但是我是用 C++ 写的,所以我更喜欢有一个 C++ 类接口,就像我使用 gtkmm 而不是直接使用 GTK+ 一样。
文档(见上面的链接)说我可以使用 GObject Introspection。所以我开始阅读它。我读了又读,我就是不明白如何使用 GOffice 的任何绑定。我在我的系统上以及 PackageKit 安装的文件列表中查找了 goffice gi-repository/typelib 文件。什么也没找到。如果 goffice 或 goffice-devel 包依赖于 gobject introspection 包,我检查了 PackageKit。也许他们间接依赖,但他们不直接依赖它(否则我会在列表中看到它)。
我试了又试,但找不到可以简单地解释如何使用 GObject 编写的库(例如 GOffice)并将其用于另一种语言(例如 Python)或在我的情况下为 C++ 的资源。当然,我可以直接使用C函数,但重点是我想要一个类似于gtkmm的界面。
(我使用 GNU/Linux,用 gtkmm 和 GNU 构建系统编写桌面应用程序,goffice 版本 0.10)
python-3.x - 我应该使用 Nautilus GIR,如果是,文档在哪里?
我正在编写一个基于 Python3/GObject 的应用程序,它将使用许多类似文件浏览器的小部件。从头开始编写这些或将 GObject Introspection 与 Nautilus 一起使用是最好的选择,如果是这样,我在哪里可以找到或如何生成文档?
我能找到的所有 Nautilus API 文档都非常古老,实际上是 Nautilus-Extension API 或其他人代码中的片段。
编辑:似乎 Nautilus 的 GIR 绑定实际上是针对扩展 API 的,而像 Gtk 本身那样彻底的绑定并不存在。
gstreamer - 在带有 GStreamer 的 Python 中,如何使用文件对象作为输入源?
我目前正在做:
但是uri
,我如何使用原始文件源而不是使用source_file = request.POST['file'].file
. (也许这会从字符串加载视频文件?)
到目前为止,我的研究使我找到了appsrc
(http://ingo.fargonauten.de/node/447),但我不确定如何将它与GStreamer 1.0一起使用,因为我无法弄清楚如何将文件加载到缓冲区中:
python - gobject-introspection 覆盖导致导入错误
我在 ubuntu raring 上的 python2.7 中使用 gobject-introspection,并且在构建一些包时遇到了导入错误。我已经隔离了一组最小的步骤来复制它:
制作本地目录结构:
/li>放标准样板
在这两个
__init__.py
文件中。从包含本地副本的目录中
/li>gi
,运行以下命令:我收到一条错误消息,如下所示:
/li>
有什么解释吗?我找不到任何关于预期行为的体面文档,因为 gobject-introspection 似乎是一个文档记录非常差的项目。非常感谢您的帮助!
python - 使用内省绑定的代码完成
我刚开始使用和 中的各种其他库进行编码GObject
,并且由于导入时间自省绑定,代码完成在任何 IDE 中都不起作用。有什么方法可以让它工作吗?GTK
gi.repository
我具体使用 Pycharm。
谢谢。