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
欢迎批评指正!