QT 操作LED Qfile权限不够

固件类型:官方提供的固件
固件文件名称:OS: Ubuntu 18.04.6 LTS MODEL: AIO-3399-JD4
固件下载地址:123
Log日志:qt.rar

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// file.setFileName(“/home/firefly/123”);
file.setFileName(“/sys/class/leds/firefly:yellow:user/brightness”);
// system(“echo none > /sys/class/leds/firefly:yellow:user/trigger”);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked(bool checked)
{
qDebug()<<checked<<endl;
if(!file.exists())
{
qDebug()<<“no led”<<endl;
return ;
}
if(!file.open(QIODevice::WriteOnly))
qDebug()<<file.errorString()<<endl;
QByteArray buf = {“0”,“1”};

if(checked)
{

    ui->pushButton->setText("close");
     qDebug()<<"close"<<endl;
    file.write(buf[1]);

}
else
{
ui->pushButton->setText(“open”);
qDebug()<<“open”<<endl;
file.write(buf[0]);
}
file.close();

}

在终端上 打开文件提示permission denied
尝试 chmod 777没有用
请问是什么问题呢

tchip_askquestions
qt.rar (637 KB)

本帖最后由 dengkx 于 2022-11-17 09:23 编辑

更改为777之后,直接使用普通用户在终端输入:
$ echo 1 > /sys/class/leds/firefly:yellow:user/brightness
看一下能不能控制

dengkx 发表于 2022-11-17 09:19
更改为777之后,直接使用普通用户在终端输入:
$ echo 1 > /sys/class/leds/firefly:yellow:user/bright …

可以的 终端可以控制 就是不能修改文件

wx__uZaz4G 发表于 2022-11-17 13:43
可以的 终端可以控制 就是不能修改文件

使用流看看?
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << 1 << “\n”;

dengkx 发表于 2022-11-17 14:56
使用流看看?
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);

试试提示没有权限 permission denied

您好 我们有没有QT 操作硬件端口的历程啊