摘录自我的代码:
char msg[80];
sprintf(msg, "Chuck Temperature: %.1f °C", temperature);
ui.TemperatureLabel->setText(QString::fromUtf8(msg));
我得到的是
什么不起作用:
用&deg代替度数符号(°)。同时将textFormat设置为RichText。它显示为“ 卡盘温度:&℃”。
添加QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
完全没有帮助。
如果重要的话,我在Visual C ++下工作。
答案 0 :(得分:0)
使用QString
代替呢?它为您处理特殊字符。
如果我理解您的代码,则想更新QLabel
的文本。
您可以执行以下操作:
QString msg("Chuck Temperature: " + QString::number(temperature) + " °C");
ui.TemperatureLabel->setText(msg);
请注意,您可以在QString::number()
中指定所需的精度。 Here,您将看到如何做。
如果您要像%.1f
一样格式化温度,只需编写以下内容:
QString msg("Chuck Temperature: " + QString::number(temperature, 'g', 2) + " °C");
ui.TemperatureLabel->setText(msg);
我希望它能解决您的问题。