问题已经在标题中描述过了:我正在使用QDial设置LCD 7“显示器的对比度级别(连接到嵌入式Linux单板计算机)。
这样做的简单方法是在终端上发送一条“回声”指令。我把它作为QFile发送:
QFile ContrLCD("/sys/class/backlight/backlight/brightness");我需要在这个QFile中发送这个级别的文字
ContrLCD.write("number");问题是QDial管理int变量,而QFile要求const char*发送对应于对比度的数字。
怎么做?
发布于 2020-02-11 15:20:25
此示例取自QFile的文档
QFile文件(“out.txt”);if (!file.open(QIODevice::WriteOnly QIODevice::Text)返回;QTextStream out(&file);out <<“魔术号为:”<< 49 <<“\n;
似乎可以使用QTextStream将格式化的输出写入QFile。我自己并没有使用它,所以可能有其他方法,但是对于格式化的数字输出,这似乎是正确的工具。
发布于 2020-02-11 15:18:19
BacklightController::setBrightness(int brightness) // slot
{
QFile f{"/sys/class/backlight/backlight/brightness"};
if (!f.open(QIODevice::WriteOnly)) return;
QTextStream stream{&f};
stream << brightness;
}https://stackoverflow.com/questions/60171961
复制相似问题