Qt读写局域网共享文件夹
#include "widget.h"
#include "ui_widget.h"#include <QDir>
#include <QSettings>//Qt读取局域网共享文件夹文件内容 解决不同网段无法访问共享文件夹问题
//使用QDir或QFile等都可以直接访问局域网共享文件.
//路径设置为 "\\\\共享文件夹电脑IP/共享文件夹路径/"即可.
//补充:路径也可以设置为 "\\\\共享文件夹电脑计算机名/共享文件夹路径/",设置ip时不在同一网段无法访问共享文件夹,
//设置电脑计算机名时即使不在同一网段也可以访问,共享文件夹电脑计算机名在电脑属性中可以看到//怎么查看计算机名称
//在Windows 10/11中:
//打开“控制面板”。
//右上角选择查看方式“大图标”,然后选择“系统”。
//在这里的页面可以看到“设备规格”里的“设备名称”。Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked() //远程电脑,192.168.5.244
{//共享文件夹的地址是\\192.168.5.244\新建文件夹QDir dir("\\\\192.168.5.244/新建文件夹/");dir.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QVector<QString> curFileEntryArray = dir.entryList().toVector();for (auto filename : curFileEntryArray){qDebug() << filename;}//iniQString path = "\\\\192.168.5.244/新建文件夹/hello.ini";QSettings setting(path, QSettings::IniFormat);setting.setValue("test/id", 123456);
}void Widget::on_pushButton_2_clicked() //远程电脑,计算机名称
{QDir dir("\\\\gt-li/新建文件夹/");dir.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QVector<QString> curFileEntryArray = dir.entryList().toVector();for (auto filename : curFileEntryArray){qDebug() << filename;}//iniQString path = "\\\\gt-li/新建文件夹/hello.ini";QSettings setting(path, QSettings::IniFormat);setting.setValue("test/id", 123456);
}void Widget::on_pushButton_3_clicked() //本地电脑,192.168.5.243
{//共享文件夹的地址是\\192.168.5.243\新建文件夹QDir dir("\\\\192.168.5.243/vocXml/");dir.setFilter(QDir::NoDotAndDotDot | QDir::AllEntries);QVector<QString> curFileEntryArray = dir.entryList().toVector();for (auto filename : curFileEntryArray){qDebug() << filename;}//iniQString path = "\\\\192.168.5.243/vocXml/hello.ini";QSettings setting(path, QSettings::IniFormat);setting.setValue("test/id", 123456);
}
--
参考文献
https://blog.csdn.net/qq_41632571/article/details/120881128