首页| 论坛| 消息

标题:[已解决][难题]Linux下如何用QT检测到U盘已经插入,并实现mount与umount
作者:blueliang
日期:2008-12-11 18:39
内容:

因为开发一个自动插入U盘就自动复制,并且要能在复制开始前先对U盘进行格式化。
想让Linux先对U盘进行格式化,然后再对U盘进行加载,加载完成后开始复制,复制完成后自动卸载。
现在Linux好像都可以自动加载。但不知道用QT的话应该怎么样编写。
先谢谢大家了
已经找到解决方法,下面只描述最主要的部分,其他部分不是难题,问题主要在于怎么样发现U盘的插入与拨出,使用qt自带的QDBus可以实现,下面为连接代码,当系统有设备插入时,可以调用slotDeviceAdded(QString udi)函数。

在pro文件中应该加入
QT +=dbus

#include
//以下为检测设备的插入
QDBusConnection::systemBus().connect( "org.freedesktop.Hal",
"/org/freedesktop/Hal/Manager",
"org.freedesktop.Hal.Manager",
"DeviceAdded",
this,
SLOT(slotDeviceAdded(QString )));
//以下为检查设备的拨出
QDBusConnection::systemBus().connect( "org.freedesktop.Hal",
"/org/freedesktop/Hal/Manager",
"org.freedesktop.Hal.Manager",
"DeviceRemoved",
this,
SLOT(slotDeviceRemoved(QString )));

在slotDeviceAdded(QString udi)函数中,要使用到
QDBu ..


#1 [rockyluo 12-12 07:55]
Linux能自动加载么??? 敢问lz用的什么内核? 自己编的?
Qt仅仅显示而已,不要把它想的太强大........
#2 [wvins 12-12 10:10]
用 Ubuntu吧
插上去就自动mount
#3 [blueliang 12-12 18:12]
mount上去了,就不能格式化了呀!
#4 [blueliang 12-12 18:15]
要实现:在程序中格式化后,再mount上去
#5 [tangooricha 12-12 20:13]
HAL

<< 1 2 3 >> (1/8)

回复 发表
主题 版块