pygi

结合使用 call_soon_threadsafe 和 GLib.idle_add 是从 asyncio 安全调用 GTK 代码的正确方法吗,还是有点过度?
pygi

结合使用 call_soon_threadsafe 和 GLib.idle_add 是从 asyncio 安全调用 GTK 代码的正确方法吗,还是有点过度?

我有一个在 asyncio 事件循环中运行的应用程序,我想添加一个与我的 Gnome Shell 交互的功能,特别是发送通知。由于 GTK 有自己的(我理解是不兼容的)事件循环,我决定将其放入Gio.Application后台线程。我的问题是关于从我的 asyncio 事件循环运行“GTK 代码”的适当方法,例如创建通知并从我的应用程序中触发它。 以下面的代码为例,我使用以下代码行来调度“添加通知”方法: asyncio.get_event_loop().call_soon_threadsafe(GLib.idle_add, app.add_noti...

Admin

appindicator 图标的设计准则是什么?
pygi

appindicator 图标的设计准则是什么?

我正在使用 Python + PyGObject 创建 Unity AppIndicator,但我希望它的图标采用标准的 Ubuntu 样式。我在哪里可以找到使用颜色的适当指南(或者只是白色/透明?),或者至少是标准 AppIndicators 的图标?那是 13.04 左右,我想,在此版本之后图标样式不会有太大变化(尽管我们会看到)。 另外,我有一个关于将图标设置为指示器的问题。如果我将其放在与 .py 文件相同的文件夹中,我应该如何在代码中引用它? ...

Admin

如何获取 Ubuntu AppIndicator 图标坐标
pygi

如何获取 Ubuntu AppIndicator 图标坐标

我正在使用 Ubuntu Linux 12.04 并使用 pygobject 在 GTK+ 3 上构建软件。 我有一个任务,就是在我的应用程序的指示图标下方显示弹出窗口,但我不知道如何获取我的应用程序指示图标坐标。似乎 app_indicator 对象没有可用的 Gdk 窗口(或者至少它不能通过其属性公开显示)。 如果您能提供任何关于如何直接获取应用程序指示器图标坐标或采取一些解决方法来找出它们的帮助或指导,我将不胜感激。 ...

Admin

如何将笔记本添加到 VBox 中的盒子中?
pygi

如何将笔记本添加到 VBox 中的盒子中?

我在 Glade 中创建了一个空框,用于添加笔记本。我没有在 Glade 中添加实际的笔记本,因为我听说您无法向在 Glade 中创建的笔记本添加页面。 因此,在 Glade 中,我在 VBox 的一个空槽中创建了一个 Box。我正在运行的代码是: self.box = self.builder.get_object("box") self.subjects = Gtk.Notebook() self.box.add(self.subjects) 运行时什么也不会发生,除了这些我相信无论如何都会发生的警告: /usr/lib/python2.7/...

Admin

获取笔记本的子元素
pygi

获取笔记本的子元素

我有一个笔记本元素和文本视图元素。因为笔记本上的页面会不断切换。我需要能够在变量中保存当前选定的文本视图的缓冲区。我该怎么做呢? ...

Admin

为什么 Ubuntu 的 webkit 检查器看起来(并且工作方式)与 Safari 一样?
pygi

为什么 Ubuntu 的 webkit 检查器看起来(并且工作方式)与 Safari 一样?

在旧版 Ubuntu 中,python-webkit 检查器看起来像 Chrome,如以下屏幕截图所示:https://stackoverflow.com/questions/13132459(它也有一些烦人的错误。)我发现 Midori 的检查器看起来也很像 Safari,而且仍有一些缺陷。 在最新的 14.04 的 python-webkit 嵌入式浏览器(以及 Midori 浏览器)中,检查器实际上看起来就像苹果浏览器- 而且似乎仍有错误(图标缺失、选择问题等)。这种剧烈变化有什么原因吗,还是只是默认配置? 有没有推荐的方法可以让 webkit...

Admin

Python DBus 会话服务如何知道用户正在注销?
pygi

Python DBus 会话服务如何知道用户正在注销?

假设您在会话总线(每个用户总线)上有一个 DBus 服务。您的服务可能通过文件启动/etc/xdg/autostart/*,也可能在某个应用首次尝试使用您的知名服务名称时启动。无论哪种方式,我们假设 DBus 会话总线是启动您的服务的进程。 然后用户注销。那么会发生什么?DBus 会发送任何可操作的信息吗?特别兴趣小组<foo> 向您的服务发出信号,还是直接发送给SIGKILL?还有其他方法可以知道用户正在注销吗?基本上,我需要运行一些清理操作,其中包括终止以 和 开头的子subprocess.Popen进程multiprocessing。 ...

Admin

移植“import gobject”以使用 GObject-Introspection。(PyGTK 到 PyGI 和 GTK 3)
pygi

移植“import gobject”以使用 GObject-Introspection。(PyGTK 到 PyGI 和 GTK 3)

我一直在尝试从 PyGTK 移植一个库以使用 GI 和 GTK3。问题是我找不到任何特定于 gobject 导入的资源,只能找到 GTK 的资源。我希望如果有人能帮我翻译以下内容,我就能掌握如何做这些事情。GTK 本身似乎有相当好的文档记录,但我找不到任何关于这个的内容。 __gsignals__ = {'cell-edited' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_PY...

Admin

如何动态调整 GTK 笔记本页面的大小
pygi

如何动态调整 GTK 笔记本页面的大小

我有一个 Python 应用程序,它使用一个Gtk.Notebook小部件来显示不同的页面。每个页面都包含一组不同的小部件,我注意到,就垂直空间而言“最高”的小部件定义了笔记本的整体垂直尺寸。 但实际上我希望我的应用能够调整页面大小,以免浪费垂直空间,并进行调整,即调整为与它们所包含的小部件相同的垂直尺寸。当我选择每个页面时,应该会发生这种调整。 这是生成此笔记本的示例代码(为简单起见,该示例每个页面包含一个小部件) 简而言之,如何在选择笔记本页面时动态调整它们的大小,以便它们的垂直空间与其子窗口小部件相同? ...

Admin

如何在 python 虚拟环境中安装 pygobject
pygi

如何在 python 虚拟环境中安装 pygobject

我创建了一个 python 虚拟环境,我想将 gi 安装到其中。但它返回此错误。 newtron@newtron:~/Documents/PythonProjects/PyQt/rasp-media$ ./bin/python3 -m pip install PyGObject Collecting PyGObject Downloading PyGObject-3.36.0.tar.gz (714 kB) |████████████████████████████████| 714 kB 203 kB/s Installing bui...

Admin

将会出现警告信息
pygi

将会出现警告信息

我提到过这个链接: 如何在当前命令行目录中打开 Nautilus? 但是自从我升级到 17.10 以来,nautilus .当我已经cd在终端中使用特定目录时,运行会给我以下消息。 sys:1: PyGIWarning: Nautilus was imported without specifying a version first. Use gi.require_version('Nautilus', '3.0') before import to ensure that the right versio...

Admin

在 Python 中检查/触发警报的推荐方法(PyGI/PyGTK)
pygi

在 Python 中检查/触发警报的推荐方法(PyGI/PyGTK)

我正在学习使用 Quickly ( ) 开发应用程序quickly create ubuntu-application。此应用程序将停留在应用程序指示器/通知栏中,并且仅工作当触发定义的“警报”时时间或者通过以下方式打开主窗口用户. 建议采用哪种方式来实现“闹钟”以尽量减少 CPU 工作量并节省电池? 需要考虑的另一个问题是用户可能会更改系统日期和时间。 目前我有这些: 用于gi.repository.GLib.timeout_add_seconds(60, . . .)每分钟检查一次,因此如果用户更新系统日期和时间,它不会错过。 使用计划任务;问题...

Admin

很快就无法打包,但没有报错
pygi

很快就无法打包,但没有报错

我正在尝试快速为我的项目制作一个 .deb 包。这是我得到的: ilya@ilya-laptop:~/Projects/online-translator$ quickly package ...........Ubuntu packaging created in debian/ .......................................................... ---------------------------------- Command returned some ERRORS: ---------------...

Admin