Qt drive dropdownlist only usb stick
Qt drive dropdownlist only usb stick
我想要一个显示磁盘的下拉列表,但只有 U 盘。
我使用 QtStorageInfo,我已经看到所有附加的磁盘,但我只想显示 USB 记忆棒。
这是我的代码:
app.cpp:
...
app::app(QWidget *parent) :
QWidget(parent),
ui(new Ui::app)
{
ui->setupUi(this);
...
connect(ui->pushButton_9, &QPushButton::clicked, this, &app::refresh);
connect(ui->comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &app::update);
refresh();
update();
}
app::~app()
{
delete ui;
}
void app::refresh()
{
ui->comboBox->clear();
for (auto volume : QStorageInfo::mountedVolumes()) {
ui->comboBox->addItem(volume.rootPath() + " " + volume.name() + " [" + QString::number(volume.bytesAvailable() / 1073741824) + tr(" GiB]"), QVariant(volume.rootPath()));
}
}
...
app.h:
...
class app : public QWidget
{
Q_OBJECT
public:
explicit app(QWidget *parent = 0);
~app();
void refresh();
void update();
...
提前致谢。
您不能直接在 Qt 中执行此操作。
不过,您可以使用Qt的函数QStorageInfo::device()来获取设备名称,例如“/dev/sdb1”。使用该名称,您可以添加操作系统特定代码以获取有关该设备的更多信息。
附带说明:您要求显示 "only USB sticks" 的措辞不当。要求可移动存储更有意义。这还包括外部 USB 硬盘驱动器以及 SD 卡。
我想要一个显示磁盘的下拉列表,但只有 U 盘。
我使用 QtStorageInfo,我已经看到所有附加的磁盘,但我只想显示 USB 记忆棒。
这是我的代码:
app.cpp:
...
app::app(QWidget *parent) :
QWidget(parent),
ui(new Ui::app)
{
ui->setupUi(this);
...
connect(ui->pushButton_9, &QPushButton::clicked, this, &app::refresh);
connect(ui->comboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &app::update);
refresh();
update();
}
app::~app()
{
delete ui;
}
void app::refresh()
{
ui->comboBox->clear();
for (auto volume : QStorageInfo::mountedVolumes()) {
ui->comboBox->addItem(volume.rootPath() + " " + volume.name() + " [" + QString::number(volume.bytesAvailable() / 1073741824) + tr(" GiB]"), QVariant(volume.rootPath()));
}
}
...
app.h:
...
class app : public QWidget
{
Q_OBJECT
public:
explicit app(QWidget *parent = 0);
~app();
void refresh();
void update();
...
提前致谢。
您不能直接在 Qt 中执行此操作。
不过,您可以使用Qt的函数QStorageInfo::device()来获取设备名称,例如“/dev/sdb1”。使用该名称,您可以添加操作系统特定代码以获取有关该设备的更多信息。
附带说明:您要求显示 "only USB sticks" 的措辞不当。要求可移动存储更有意义。这还包括外部 USB 硬盘驱动器以及 SD 卡。