QDial:如何将 int 值传递给需要 const char* 的 Qfile?

QDial: how to pass int value to a Qfile that requires const char*?

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

执行此操作的简单方法是在终端上发送 "echo" 指令。我将其作为 QFile 发送:

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

并且我需要在QFile

中发送关卡写作
ContrLCD.write("number");

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

如何操作?

BacklightController::setBrightness(int brightness) // slot
{
    QFile f{"/sys/class/backlight/backlight/brightness"};
    if (!f.open(QIODevice::WriteOnly)) return;
    QTextStream stream{&f};
    stream << brightness;
}

此示例摘自 QFile 的文档:

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

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

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