使用 Python 开发兼容 Unity 的应用程序——从哪里开始?

使用 Python 开发兼容 Unity 的应用程序——从哪里开始?

我是一名经验丰富的程序员,对开发 Linux 应用程序(特别是 GTK)以及与 Unity 兼容的应用程序感兴趣。除了学习 Python 这一显而易见的步骤之外,学习以下内容的最佳方法是什么:

  • 如何开发GUI界面(大概用Glade)? 有没有好的Glade2教程?
  • Unity 特定的 API 调用在哪里?(例如,将通知图标放在顶部面板上,并在启动图标上使用“徽章”(a la统一邮件的消息数)。

此外,是否有任何类似于 Xcode 或 Visual Studio 的优秀 Python IDE,您可以在其中设计界面,然后双击按钮和小部件以将代码绑定到它们?

谢谢你的帮助。

答案1

好问题。

首先,appindicators 在任何方面都不是 Unity 独有的。实际上,它们在 Xfce 或 KDE 上运行得一样好。它使用起来非常非常简单。您将创建一个指示器对象,设置需要注意时要使用的图标名称等,然后简单地将菜单附加到它。然后指示器通过 dbus 发送并以适合当前桌面环境的方式正确显示。在 Unity、Gnome Shell、Xfce 和 LXDE 中,它将显示为 GTK 菜单,在 KDE 中它将显示为 Qt 菜单等。非常简洁。您可以在此处找到有关它的更多信息:http://unity.ubuntu.com/projects/appindicators/

在 Glade 的右侧窗格中,在 Properties 下有一个 Signals 页面。在这里,您只需键入用作该信号处理程序的方法的名称。在您的代码中,您只需创建一个 gtk.Builder 对象,加载 Glade 生成的 XML,然后使用 gtk.Builder.connect_signals 方法将所有信号连接到它们的方法。这意味着您可以在几乎任何编程语言中使用 Glade 接口。由于这非常简单,并且语言本质上是不同的,因此向 Glade 本身添加编码没有什么意义。对于 Python(和其他语言)的编码,我建议您查看 Geany (http://apt.ubuntu.com/p/geany)是一个非常好的编辑器/IDE。

Unity 中的其他东西太新了,文档很少,除了代码示例。一些 API 刚刚稳定下来,例如 Scopes 和 Lenses,不久前它们甚至还没有被这样称呼。作为初学者,我会等一段时间再研究这些东西。

启动器上的条目在代码中实际上只是称为 LauncherEntry,它可以使用进度条、计数器和 QuickLists。我实际上没有亲自编写代码,但此页面有示例,它看起来非常简单,就像其他 Unity API 一样:http://bazaar.launchpad.net/~unity-team/libunity/trunk/view/head:/examples/launcher.py

答案2

此处提供了可用的 API 列表:

相关内容