正如几年前其他人已经在这里问到的那样,我希望能够在插入pendrive / datatraveler时以及在我的系统中拔掉它时(在Linux Ubuntu和嵌入式Linux中)都能在Qt应用程序中进行检测。
我在SO中搜索过,我注意到大多数答案不仅非常过时(例如从2010年开始),但所有解决方案都以某种方式涉及“非Qt解决方案”来解决这些问题:平台特定或外部库的使用,例如udev和DBus。
我首先要知道的是,是否有针对此的特定Qt解决方案,即在不需要添加外部库或平台特定代码的情况下执行此操作的方法,以及如何使用它。优选地,它应该已经在Qt 4.8中可用。如果没有Qt解决方案,那么基于Qt的库是可以接受的。
添加:搜索结果:
答案 0 :(得分:7)
正如已经指出的那样,Qt
本身并不提供这样的模块。但是有一个名为QDeviceWatcher
的用户自定义类。我个人没有经验,也没有定期更新,但你可以尝试一下。
答案 1 :(得分:4)
在Qt中没有这样的API,但你可以继续使用libusb的一些平台式实现,这非常棒。
答案 2 :(得分:3)
再多一个提示:
libusbx是libusb的一个分支,libusb是一个提供对USB设备的通用访问的库。 截至2014.01.26,该项目已完全合并回libusb,现已停产。 由于不会再发布libusbx,因此强烈建议您切换到使用libusb。 -----来自http://libusbx.org/