python - Linux 上 Gtk 与 Mono 的接口(interface)

标签 python linux mono gtk gtk#

我有一个运行 Linux 的类似 Raspberry Pi 的设备,连接到自定义打印机。还有一个 LCD 触摸屏,用户可以用来与打印机交互(选择文件、配置打印机、打印等)。

打印机 Controller 是用 C# 编写的,因此我们在 Linux 内核之上运行 Mono 来处理打印机。

LCD 屏幕是用 Gtk# 编写的,因为我们希望使用 Gtk 作为选择的 UI 层,因此它与我们的 C# 代码交互。问题是 Gtk# 绑定(bind)最多只能达到 2.12 ,并且有 2.14 及更高版本(甚至 3.x)中我们需要的功能。

由于设备运行的是 Linux,有没有办法使用基于 C++ 或 Python 的 Gtk 绑定(bind),然后在 Gtk 和 C# 之间传递信号?我需要将来自打印机的输入(如打印状态)发送到处理屏幕的 Gtk,并将来自屏幕的输入(如“打印所选文件”)从 Gtk 发送回打印机。

最佳答案

建议:

运行系统范围(或用户)的 dbus 守护进程。通过 dbus 互连 – gdbus (just a server exampledbus-sharp .

我建议你选择带有 gobject 内省(introspection)(而不是包装器的东西!)的 C 或 python,因为它们通常比 gtkmm(它“只是”将 gtk+ 包装到类结构中)更好地维护。

关于python - Linux 上 Gtk 与 Mono 的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789225/

相关文章:

mono - 如何在 Mono 上安装 Nemerle

electron - 使用 microsoft store 分发和更新 Electron 桌面应用程序

python - anaconda下环境特定的pip.conf

python - 我的 if 和 elif 语句没有执行

linux - ts_calibrate 无法从 systemd 脚本运行

java - 条形码值生成 pdf linux

iphone - 如何隐藏 UINavigationController 的后退按钮?

python - 在 pandas 中使用 groupby 用模式替换缺失值时出现 IndexError

python:fsolve在积分上限内未知

c - 读取失败并显示 EFAULT