当前位置: 代码迷 >> QT开发 >> QT linedit使用
  详细解决方案

QT linedit使用

热度:303   发布时间:2016-04-25 02:59:09.0
QT linedit使用求助
1.我有linedit获取输入 可能是英文也可能是中文
获取之后用text().tolocal8bit()存入uint8数组
发现有中文输入时有问题,
例如我输入“六六六”
得到text().length()是3,不是应该6吗?
别处用printf %s   打印uint8数组得到乱码
求解决

2.别处得到一个uint8数组,不知其存储的是英文还中文字符
如何准确的在listwidget中正确显示
------解决思路----------------------
引用:
我如果在linedit输入“DSP9类型”这样的混合字符串 怎么存到char数组里啊?
对应的 char数组里存着一串混合字符,怎么显示出来啊?
求大神不吝赐教


我前面说了,建议补充一点编码的知识。不然你都不知道你需要什么 和 想表达什么 ^_^

比如一个很简单的C/C++语句:

char *s = "你知道这个s里面到底是什么东西么?答案:无法确定";
------解决思路----------------------
QLineEdit::toPlainText().toLocal8Bit();

引用:
Quote: 引用:

好吧,我学业不精
Quote: 引用:

Quote: 引用:

QString会自动按utf8编码去计算长度而非char*长度。
编码问题需要自己写代码去判断了,好比之前比较出名的记事本中ansi编码存入“联通”两个字,保存后再次打开显示乱码是一个道理。

QString 内部是 UTF16 不是 utf8

我如果在linedit输入“DSP9类型”这样的混合字符串 怎么存到char数组里啊?
对应的 char数组里存着一串混合字符,怎么显示出来啊?
求大神不吝赐教
  相关解决方案