• 5451阅读
  • 8回复

[提问]请问,qstring类型如何转换成string类型 [复制链接]

上一主题 下一主题
离线diedwalker
 
只看楼主 倒序阅读 楼主  发表于: 2012-01-04
我在做聊天室的时候,在输入框输入一行中文,这行中文本来是qstring类型,请问如何把它变成string类型。
谢谢大家了
离线facat

只看该作者 1楼 发表于: 2012-01-05
toStdString ()
或者
toStdWString ()
离线diedwalker
只看该作者 2楼 发表于: 2012-01-05
谢了
不过还有一个问题
我用这行语句
mwidgetitem->setText(ui.lineEdit->text().toStdString().c_str());
lineEditor里输入的是中文,为什么mwidgetitem显示的却是???
离线roywillow

只看该作者 3楼 发表于: 2012-01-05
回 2楼(diedwalker) 的帖子
既然有QString类型的了为什么还要用c_str()呢……
估计是编码问题
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线benbenmajia

只看该作者 4楼 发表于: 2012-01-05
注意编码格式
安然.....
离线diedwalker
只看该作者 5楼 发表于: 2012-01-05
就是一个std::string类型的中文字符串,如何让它在QT中成功输出
离线roywillow

只看该作者 6楼 发表于: 2012-01-05
QString QString::fromStdString ( const std::string & str ) [static]
不过std string好像完全没有规定编码,并且文档中说这个函数会用到fromAscii()
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线realfan

只看该作者 7楼 发表于: 2012-01-05
引用第2楼diedwalker于2012-01-05 10:34发表的  :
谢了
不过还有一个问题
我用这行语句
mwidgetitem->setText(ui.lineEdit->text().toStdString().c_str());
lineEditor里输入的是中文,为什么mwidgetitem显示的却是???
.......

你用mwidgetitem->setText(ui.lineEdit->text().toStdWString().c_str());试试
离线jdwx

只看该作者 8楼 发表于: 2012-01-05
回 2楼(diedwalker) 的帖子
mwidgetitem->setText(ui.lineEdit->text().toStdWString().c_str());
不知道为什么要这么复杂。
mwidgetitem->setText(ui.lineEdit->text());
这样就行了。


在Qt里用QString
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个