qt 中文问题

1 把qt中的源代码修改称为UTF-8 +BOM ,注意加上BOM
2 使用QStringLiteral
3 使用codec->toUnicode

code

void MainWindow::on_pushButton_clicked()
{
    qDebug("this is a test");
    QTextCodec *codec = QTextCodec::codecForName("GB2312");
    QMessageBox::information(this, codec->toUnicode("我的标题"), codec->toUnicode("这里是提示信息"));
    QMessageBox::information(this, QStringLiteral("我的标题"), QStringLiteral("这里是提示信息123"));
}

qt中文

使用u8

使用u8是最简单的

    QTextCodec *codec = QTextCodec::codecForName("GB2312");//修改这两行
    QMessageBox::information(this, "我的标题u8", "这里是提示信息u8");
    QMessageBox::information(this, u8"我的标题u8", u8"这里是提示信息u8");
    QMessageBox::information(this, codec->toUnicode("我的标题"), codec->toUnicode("这里是提示信息"));
    QMessageBox::information(this, QStringLiteral("我的标题"), QStringLiteral("这里是提示信息123"));

不加u8
上图是不加u8 QMessageBox::information(this, “我的标题u8”, “这里是提示信息u8”); 弹出的信息,乱码
加上u8
上图 是加上u8,显示正常。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐