Qt 中的中英文混排 Qt
程序员文章站
2022-06-01 17:21:56
...
在安装了东亚字体的英文操作系统中,当Qt显示中英文混排时,无法让英文显示英文字体,中文显示中文字体。解决办法是在Qt中将中文字体设置系统缺省字体。
以windows操作系统为例,创建窗口前先运行下面代码:
int main(int argc, char *argv[]) { QApplication app(argc, argv); QFont font; QFontDatabase fontDatabase; #if QT_VERSION < 0x050000 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); #endif if (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 程序中英文其实比中文小一号。
上一篇: 竹笋与笋子是同一种食材吗,吃竹笋有什么好处跟坏处。
下一篇: 除湿气的食物有哪些呢