• 14143阅读
  • 10回复

[提问]如何正确输出 摄氏度的符号 [复制链接]

上一主题 下一主题
离线foxwhilter
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-29
为什么不能正确输出温度的符号呢?

    QString msg = ("temp1:       +28.8°C  (high = +70.0°C)    ");qDebug()<<msg;输出的结果是:
"temp1:       +28.8??C  (high = +70.0??C)    "

请教一下,这个应该怎么做才能正确的输出呢?
离线jdwx

只看该作者 1楼 发表于: 2011-06-29
回 楼主(foxwhilter) 的帖子
和中文显示有关,估计°C不是英文符号。
在main.cpp里QApplication下面加上:
QTextCodec *codec = QTextCodec::codecForName("System");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);    
试试看。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dbzhang800

只看该作者 2楼 发表于: 2011-06-29
1楼提供了思路(而且这些代码99.9%应该是工作的),请按照这个思路走,但最好不要碰这儿提到的这些代码。
离线hjh2008

只看该作者 3楼 发表于: 2011-06-29
想请问上标是肿么打出来的?
离线alexltr

只看该作者 4楼 发表于: 2011-06-29
FYI

http://hi.baidu.com/午小夜/blog/item/65033effdfe58b3d5d6008a0.html
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线dbzhang800

只看该作者 5楼 发表于: 2011-06-29
引用第3楼hjh2008于2011-06-29 22:36发表的  :
想请问上标是肿么打出来的?

哪儿有上标啊?不过看到你这个,想起昨天newsmth一个段子

    今天跟一个熟识的女生打招呼,结果她看了我一眼,啥也没说就走过去了,留下尴尬的我。
    回到实验室,在Google Talk上看到她在线,我就热心地问她:“你肿么了?”
    结果她还是一言不发……
    过了会,我估摸着她状态不大正常,就又关心地问:“呃……你肿么了?你说话啊! ”。
    她说,出来楼下见。
    结果一见面她就给我一巴掌,指着我的脸说:“你这叫肿了,姐这叫胖了,叫你丫幸灾乐祸!”

离线alexltr

只看该作者 6楼 发表于: 2011-06-29
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线foxwhilter

只看该作者 7楼 发表于: 2011-06-30
经验证,1楼得办法确实是工作的。

只是觉得奇怪,系统是英文的系统,输出的话不应该出现乱码的问题。

再回楼上,上标是从其他的程序里面输出之后,直接拷贝出来的。
离线jdwx

只看该作者 8楼 发表于: 2011-06-30
°C,Word里可以找到:插入->符号
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dbzhang800

只看该作者 9楼 发表于: 2011-06-30
引用第7楼foxwhilter于2011-06-30 08:44发表的  :
经验证,1楼得办法确实是工作的。
只是觉得奇怪,系统是英文的系统,输出的话不应该出现乱码的问题。
再回楼上,上标是从其他的程序里面输出之后,直接拷贝出来的。
.......

那段代码工作没问题,除非你非常清楚那四行代码做了什么,否则,不要这么用!!

新手一开始就用这种代码,以后想改正就难了(可能你以后压根就不去想它的种种问题了)
离线jdwx

只看该作者 10楼 发表于: 2011-06-30
回 楼主(foxwhilter) 的帖子
那是平台关联性代码,会导致程序没法跨平台。哈哈。
用setText("\260C")
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个