我的系统:
我正在尝试将拉丁字母与其他类型的字符混合,例如日本。我有拉丁字母和日文字符的字体,但它们不是相同的字体。我研究了这些帖子:
Qt Use Multiple Fonts at the Same Time和how-to-properly-output-multilingual-text-in-qt-embedded
我按照步骤操作,但无法正确显示所有字符
有没有办法表明如果你不能显示字符字体变化?
代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString chino = QString::fromUtf8("你好");
QString ruso = QString::fromUtf8("здравствуйт");
QString arabe = QString::fromUtf8("سلام عليك");
QString japones = QString::fromUtf8("今日は");
QString otros = QString::fromUtf8("안녕하세요");
QString mezcla = QString::fromUtf8("今a日sはздdр你عل세요");
QString indu = QString::fromUtf8("Γεια σας,안녕하세요,ज्वजलपा");
ui->textochino->setText(chino);
ui->textoruso->setText(ruso);
ui->textoarabe->setText(arabe);
ui->textojapones->setText(japones);
ui->texto1->setText(mezcla);
ui->texto2->setText(indu);
}
MainWindow::~MainWindow()
{
delete ui;
}
答案 0 :(得分:3)
对于选择列表字体替代我们可以使用insertSubstitutions。例如:
QStringList listFonts;
listFonts <<"Verdana" <<"Droid Sans" <<"Lucida Sans" ;
QFont font("Sans");
font.insertSubstitutions("Sans",listFonts);
font.setStyleStrategy(QFont::PreferAntialias);
ui->mix->setFont(font);