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
。我自己没有使用它,所以可能还有其他方法,但是对于数字的格式化输出,这似乎是正确的工具。
问题已在标题中描述:我正在使用 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
。我自己没有使用它,所以可能还有其他方法,但是对于数字的格式化输出,这似乎是正确的工具。