Important: Please read the Qt Code of Conduct -

[SOLVED] How to detect USB devices

  • My aim is to save a txt file from my Qt app to an external device (SD card, USB pendrive...). The app is created for an embedded system.
    My problem is: how detect which USB device is connected when I inserted a USB pen, in such a way that I can save my file in it?
    Which is the best method using Qt?

  • Usually, mounting storage devices is handled by the OS.
    What is the target OS for which you are developing?

  • I'm developing on Ubuntu 14.04 for a Single Board Computer Variscite (its OS is Linux-embedded)

  • If your goal is only to store data, use this command QFileDialog::getSaveFileName(); If your goal is only to store data, use this command. Do not forget the file header #include <QFileDialog>

  • @alsa
    Does your eLinux mount newly attached storage devices automatically to a mount point or does it only create a device file?

    I had the same task on eLinux as well. My system did create the device file only (busybox with mdev). I used a QFileSystemWatcher to detect changes in /dev, ie. attached sdan and acted on that with mounting/unmounting the device.

  • It only creates a device file

  • @alsa
    Then look into QFileSystemWatcher.

  • To start:

    // prepare FS watcher to detect added USB memory
    FSwatcher = new QFileSystemWatcher(this);
    connect(FSwatcher, SIGNAL(directoryChanged(QString)), this, SLOT(showModifiedDirectory(QString)));


  • This post is deleted!

Log in to reply