Qt 中文和英文分别使用不同的字体

tech2023-02-22  102

记录一下Qt使用样式表指定中文、英文分别使用不同的字体的方法。

先看效果:

其实很简单:

lablel->setStyleSheet(QString("QLabel{ font-family:'Roman, 华文行楷'; font-size: 16pt; color: red; }");

字体的名称设置多个就行,中间用逗号隔开。

注意:先设置英文字体,再设置中文字体,这样qt会先在第一个字体中找,没找到再去第二个字体中找。

 

再记录一下Qt给软件整体设置字体的方法:

在main函数中添加如下代码:

 QFont ff("Times New Roman, SimSun, SimSun-ExtB");  app.setFont(ff);

 

最后记录一下Qt在高分辨率下,字体抗锯齿的方法,目测这个方法在qt5.15以上版本有效

新建 qt.conf 文件,文件内容为:

[Platforms] WindowsArguments = fontengine=freetype

然后将qt.conf放入项目的qrc资源文件中,资源路径为:

:/qt/etc/qt.conf

重新编译生成可执行文件即可

最新回复(0)