有时候在自己电脑上写好的界面,在别人电脑上运行会出现字体显示不全的情况,尤其是在台式电脑上编成的程序在笔记本上显示基本都会出问题。原因其实是pyqt将ui文件生成的.py文件设置字体会默认使用setPointSize这个函数,而这个函数设置的字体大小是会跟随屏幕的缩放率变化的,台式机的屏幕毕竟大,基本是100%显示,笔记本的屏幕小,基本都是125%甚至是150%,所以导致显示不全。
解决办法
方法1.将目标电脑的缩放改成和你打包的电脑一致
方法2.将设置字体的函数setPointSize改成setPixelSize,这个函数不会随屏幕的缩放而改变字体大小,下图为修改了标签和按钮后,175%的情况。注:setPixelSize(x)设置的字体会比setPointSize(x)小一些,我一般设置的时候都会加4,这样看起来差不多大setPixelSize(x+4)