瑞芯微Rockchip开发者社区
直播中

h1654155275.5669

8年用户 1030经验值
私信 关注
[问答]

AIO-3399-JD4 QT操作LED Qfile权限不够请问是什么问题呢

1.jpg

问题描述及复现步骤:

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没有用

请问是什么问题呢

回帖(3)

刘涛

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

h1654155275.5669

2022-11-17 16:32:21
可以的 终端可以控制 就是不能修改文件
举报

刘涛

2022-11-17 16:32:29
使用流看看?
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << 1 << "n";
举报

更多回帖

发帖
×
20
完善资料,
赚取积分