首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在QT 5中显示特殊字符?

如何在QT 5中显示特殊字符?
EN

Stack Overflow用户
提问于 2019-05-28 14:30:41
回答 1查看 2.1K关注 0票数 1

摘录自我的代码:

代码语言:javascript
运行
复制
  char msg[80];
  sprintf(msg, "Chuck Temperature: %.1f °C", temperature);
  ui.TemperatureLabel->setText(QString::fromUtf8(msg));

我得到的是:

不起作用的是:

  • 将textFormat设置为RichText时,将度符号(°)替换为°。它显示为“恰克温度:°C”。
  • 添加QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));一点帮助都没有。

我在VisualC++下工作,如果这很重要的话。

EN

回答 1

Stack Overflow用户

发布于 2019-05-28 18:23:19

不如用QString代替呢?它为你处理特殊的角色。

如果我理解您的代码,您需要更新QLabel的文本。

你可以这样做:

代码语言:javascript
运行
复制
QString msg("Chuck Temperature: " + QString::number(temperature) + " °C");
ui.TemperatureLabel->setText(msg);

请注意,您可以在QString::number()中指定所需的精度。这里,你可以看到怎么做。

如果您想以与%.1f相同的方式格式化温度,只需编写以下内容:

代码语言:javascript
运行
复制
QString msg("Chuck Temperature: " + QString::number(temperature, 'g', 2) + " °C");
ui.TemperatureLabel->setText(msg);

我希望它能解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56344494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档