0

问题已在标题中描述:我正在使用QDial设置 LCD 7" 显示器的对比度级别(连接到嵌入式 Linux 单板计算机)。

执行此操作的简单方法是在终端上发送“回显”指令。我将它作为 QFile 发送:

QFile ContrLCD("/sys/class/backlight/backlight/brightness");

我需要发送这个级别的写作QFile

ContrLCD.write("number");

问题是QDial管理int变量,而QFile需要const char*发送与对比度对应的数字。

这个怎么做?

4

2 回答 2

1
BacklightController::setBrightness(int brightness) // slot
{
    QFile f{"/sys/class/backlight/backlight/brightness"};
    if (!f.open(QIODevice::WriteOnly)) return;
    QTextStream stream{&f};
    stream << brightness;
}
于 2020-02-11T15:18:19.213 回答
1

此示例取自以下文档QFile

QFile file("out.txt");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
    return;

QTextStream out(&file);
out << "The magic number is: " << 49 << "\n";

似乎您可以使用 aQTextStream将格式化的输出写入QFile. 我自己没有使用它,所以可能还有其他方法,但是对于数字的格式化输出,这似乎是正确的工具。

于 2020-02-11T15:20:25.213 回答