当连接特定的USB设备时,linux能否发信号通知我的Qt程序?

时间:2011-12-22 12:48:48

标签: qt4 usb signals

我希望linux在连接特定USB设备时通过信号通知我的Qt程序。存储设备,如闪存盘或硬盘驱动器。我怎样才能做到这一点?你有什么建议吗?

更新

我发现QtDbus可以提供我需要的功能,但我还没弄清楚究竟是怎么回事。有没有人可以提供有关使用QtDbus获取USB设备通知的信息?

我一直在阅读本教程:
http://dbus.freedesktop.org/doc/dbus-tutorial.html

本教程说:
D-Bus专为两种特定情况而设计:

  • 同一桌面中的桌面应用程序之间的通信 会议;允许整合桌面会话,和 解决流程生命周期的问题(桌面组件何时启动) 并停止运行。。
  • 桌面会话与操作系统之间的通信, 操作系统通常包括内核和任何内核 系统守护进程或进程。

我打算使用这个工具,我在非图形Linux系统中寻求帮助。更准确地说,使用带有QWS的Angstrom Linux控制台映像的Beagleboard-XM。

在这种情况下,QtDbus是否是正确的选择?

2 个答案:

答案 0 :(得分:1)

没有尝试过Qt的DBUS实现,但有关如何获取USB通知的一般细节在this tutorial

QtDBus函数名称可能很容易映射到这些

答案 1 :(得分:1)

您可能希望了解qt4-dev-tools中的qdbusviewer您的系统有哪些类型的dbus接口有关设备通知(无论是HAL还是udev)。使用qdbusxml2cpp生成c ++实现相对简单。您只需要连接到系统提供的任何dbus信号,以便进行设备通知。以下是qt和dbus QtDbus Tutorual的快速入门指南。