QT中文处理--Qt5对付中文真好用
2016-08-05 19:48
429 查看
Qt好多C++程序员都在用,Qt4大家可能用的多,到了Qt5不熟悉的人到是很多,其中我喜欢的特性也是和Qt4大不一样的地方就是对中文的处理。
Qt4中使用“QTextCodec::setCodecForTr(QTextCodec::codecForName('gb18030'));”类似的语句来解决问题,但是这种全局性的设置在一些情况是下是会影响其他语言的。例如软件中存在多种语言。
Qt5中是怎么解决中文的呢?我的理解就是QString一个类直接全部搞定。
例如想保存中文到文件中,再将文件中的中文内容读取到程序中。
一下是代码片段:
view
sourceprint?
view
sourceprint?
view
sourceprint?
view
sourceprint?
view
sourceprint?
FROM: http://www.it165.net/pro/html/201408/18861.html
Qt4中使用“QTextCodec::setCodecForTr(QTextCodec::codecForName('gb18030'));”类似的语句来解决问题,但是这种全局性的设置在一些情况是下是会影响其他语言的。例如软件中存在多种语言。
Qt5中是怎么解决中文的呢?我的理解就是QString一个类直接全部搞定。
例如想保存中文到文件中,再将文件中的中文内容读取到程序中。
一下是代码片段:
view
sourceprint?
01.
1
bool MainWindow::__ReadFile(
const
QString &filename)
02.
2
{
03.
3
QFile infile(filename);
04.
4
if
(infile.open(QIODevice::ReadOnly))
05.
5
{
06.
6
//textEdit->setPlainText(QString::fromLocal8Bit(infile.readAll()));
07.
7
textEdit->setPlainText(QString::fromUtf8(infile.readAll()));
08.
8
infile.close();
09.
9
10.
10
setWindowModified(
false
);
11.
11
setWindowTitle(filename);
12.
12
return
true
;
13.
13
}
14.
14
return
false
;
15.
15
}
view
sourceprint?
01.
1
bool MainWindow::__WriteFile(
const
QString &filename)
02.
2
{
03.
3
QFile outfile(filename);
04.
4
if
(outfile.open(QIODevice::WriteOnly))
05.
5
{
06.
6
//outfile.write(textEdit->toPlainText().toLocal8Bit().data());
07.
7
outfile.write(textEdit->toPlainText().toUtf8().data());
08.
8
outfile.close();
09.
9
10.
10
setWindowModified(
false
);
11.
11
setWindowTitle(filename);
12.
12
return
true
;
13.
13
}
14.
14
return
false
;
15.
15
}
view
sourceprint?
1.
QString::fromUtf8
2.
3.
QString::toUtf8
4.
5.
或者
view
sourceprint?
1.
QString::fromLocal8Bit
view
sourceprint?
1.
QString::toLocal8Bit
2.
3.
使用“一对”就可以完美解决中文输入输出问题。
4.
5.
大家可以试试。
FROM: http://www.it165.net/pro/html/201408/18861.html
相关文章推荐
- Qt5对付中文真好用
- QT处理中文时需要加的特殊设置
- QT中文编码处理
- QT 处理中文乱码的问题
- QT中输出中文乱码处理
- 常见的几个Qt编程问题的处理(转自QT中文论坛)(挺实用的)
- QT 解决中文处理乱码的问题
- QT处理中文之QString转为const char *
- qt 中文乱码 处理QByteArray类型里含中文的数据
- Qt处理中文乱码详解
- Qt中中文处理的简单方法
- 常见的几个Qt编程问题的处理(转自QT中文论坛)
- Qt中中文处理的简单方法
- 常见的几个Qt编程问题的处理(转自QT中文论坛)
- Linux下用QtCreater写QT程序处理中文的乱码问题解决方案
- Qt中中文处理的简单方法
- QT里中文乱码的处理
- Qt的tr函数和中文乱码处理
- Qt 应用如何处理拖放时的中文参数
- qt 中文乱码 处理QByteArray类型里含中文的数据