本文主要是介绍Qt 中的中英文混排,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在安装了东亚字体的英文操作系统中,当Qt显示中英文混排时,无法让英文显示英文字体,中文显示中文字体。解决办法是在Qt中将中文字体设置系统缺省字体。
以windows操作系统为例,创建窗口前先运行下面代码:
int main(int argc, char *argv[])
{QApplication app(argc, argv);QFont font;QFontDatabase fontDatabase;
#if QT_VERSION < 0x050000QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
#endifif (fontDatabase.families().contains("宋体") && font.defaultFamily() != "宋体") {font.setFamily("宋体");font.setPointSize(9);app.setFont(font);}app.setStyleSheet("QPushButton {font-family: arial,sans-serif;}");// start mainwindow
}
这样不管是中文还是英文缺省都会用宋体显示,接下来可以给每个含有英文的控件设置qss就可以更改英文字体,中文部分不变。
可以看其实并不完美,英文显得比中文大。在native 程序中英文其实比中文小一号。
这篇关于Qt 中的中英文混排的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!