在Ubuntu上运行QT程序出现汉字乱码的问题可能是由于缺少中文字体库导致的。您可以尝试以下解决方法:

  1. 安装中文字体库:

    sudo apt-get install ttf-wqy-zenhei
    
  2. 在QT程序的代码中添加设置字体的代码,例如:

    QFont font("WenQuanYi Zen Hei", 12);
    app.setFont(font);
    

    这里使用了刚刚安装的文泉驿正黑字体作为默认字体,您也可以根据需要选择其他中文字体。

  3. 如果您的QT程序中使用了QLabel、QTextEdit等控件显示中文文本,可以尝试设置其文本编码为UTF-8,例如:

    QLabel *label = new QLabel("中文文本");
    label->setTextFormat(Qt::RichText);
    label->setText("<html><head/><body><p align=\"center\"><span style=\" font-size:12pt; font-weight:600; color:#000000;\">中文文本</span></p></body></html>");
    

    这样可以确保文本以UTF-8编码显示。

  4. 如果您的QT程序中使用了Qt Linguist进行国际化处理,可以在.ts文件中添加UTF-8编码声明,例如:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE TS>
    

    这样可以确保.ts文件以UTF-8编码保存。

  5. 如果您的QT程序中使用了数据库,可以在连接数据库时设置编码为UTF-8,例如:

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mydb");
    db.setUserName("user");
    db.setPassword("password");
    db.setConnectOptions("MYSQL_OPT_RECONNECT=true;MYSQL_OPT_CHARSET_NAME=utf8");
    

    这样可以确保数据库中的数据以UTF-8编码读取和写入。

请根据您的具体情况尝试以上方法,希望能解决您的问题。

在ubuntu上运行QT汉字乱码

原文地址: https://www.cveoy.top/t/topic/iBiy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录