VS + QT 环境代码如下:

m_pListDev->SetStyleSheet("
QTableWidget{ font-size: 18px;font-family: 'Microsoft YaHei UI';}\
QTableWidget::item:selected{ background-color:rgb(235, 250, 243)}\
QHeaderView::section {font-size:18px;font-family: 'Microsoft YaHei UI';font:bold;background-color: rgb(201,208,214);}
");

本人踩坑点:最初设置字体为“微软雅黑”时写法为 font-family: '微软雅黑' ,这样的实际效果是界面上的中英文字符 均为默认的“宋体”,并没有变成“微软雅黑”。

解决方法:设置的字体类型最好用 通用的英文表达方式,如“微软雅黑”,应该写成:'Microsoft YaHei UI'

 

其他设置字体不生效的情形:

1.https://www.matools.com/blog/190636966

使用QFont的setPointSize,此时字体的大小会跟随DPI改变而改变。

使用QFont的setPixelSize,此时字体的大小不会随DPI的改变而发生变化。


通过设置PointSize的字体来说,字体大小是随着屏幕大小以及分辨率自适应的,因此无须处理字体的缩放;
但是对于设置PixelSize大小的字体来说,由于所占分辨率大小固定,因此在相同尺寸上更高分辨率的屏幕上,由于其单位长度内的像素点数更多,即像素密度更大,
因此对于更好分辨率的屏幕来说,字体会看起来小一些,要处理这种情况,一种办法就是所有字体都用PointSize来表示大小,但对于已经采用PixelSize的字体来说,就要对其进行控制缩放。 

2.https://www.xuebuyuan.com/1083688.html

欢迎批评指正!

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐