摘录自我的代码:
char msg[80];
sprintf(msg, "Chuck Temperature: %.1f °C", temperature);
ui.TemperatureLabel->setText(QString::fromUtf8(msg));
我得到的是:
不起作用的是:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
一点帮助都没有。我在VisualC++下工作,如果这很重要的话。
发布于 2019-05-28 18:23:19
不如用QString
代替呢?它为你处理特殊的角色。
如果我理解您的代码,您需要更新QLabel
的文本。
你可以这样做:
QString msg("Chuck Temperature: " + QString::number(temperature) + " °C");
ui.TemperatureLabel->setText(msg);
请注意,您可以在QString::number()
中指定所需的精度。这里,你可以看到怎么做。
如果您想以与%.1f
相同的方式格式化温度,只需编写以下内容:
QString msg("Chuck Temperature: " + QString::number(temperature, 'g', 2) + " °C");
ui.TemperatureLabel->setText(msg);
我希望它能解决你的问题。
https://stackoverflow.com/questions/56344494
复制相似问题