qt qstring toStdString减去负号

时间:2013-07-03 14:36:12

标签: qt qstring

我正在使用qstring并使用函数toStdString()。当我这样做时,我会丢一个减号:

'332-_09I_W'

此文字成为:

'332_09I_W'

我该怎么做才能防止这种情况发生?

编辑:实际上,当我使用toStdString()时,问题不在于,当我在qTextEdit中设置文本时。这种变化发生在这里:

myTextEdit->setHtml(myString);

1 个答案:

答案 0 :(得分:0)

我试过了:

QString qs("332-_091_W");
std::string st = qs.toStdString();
ui->textEdit->setHtml(st.c_str());

这对我没有任何问题。您使用的是哪个版本的Qt?

但是,从文档:

  

setHtml()更改文本编辑的文本。删除任何以前的文本   并清除撤消/重做历史记录。输入文字是   解释为html格式的富文本。       注意:调用者有责任确保在创建包含HTML的QString时正确解码文本   并传递给setHtml()。

在HTML中使用减号/连字符符号不明确,尝试使用setHtml()

将其更改为QString(在将其传递给−之前)