Qt更改字体为思源黑体
? 由于微軟雅黑字體版權限制,現更改Qt應用程序默認字體為思源黑體-Mdeium黑度。
直接在ui環境中更改字體需要運行機安裝過思源黑體,故而只能在qrc中添加字體文件SourceHanSansCN-Medium.otf,然后在main函數中動態加載字體文件:
 ?? ?int loadedFontID = QFontDatabase::addApplicationFont(":font/SourceHanSansCN-Medium.ttf");
 ?? ?QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
 ?? ?if (!loadedFontFamilies.empty())?
 ?? ?{
 ?? ??? ?QString sansCNFamily = loadedFontFamilies.at(0);
 ?? ??? ?QFont defaultFont = a.font();
 ?? ??? ?defaultFont.setFamily(sansCNFamily);
//設置字體大小格式為pixel,字體占用固定像素。相同像素的大小屏,不會發生字體遮擋現象
 ?? ??? ?defaultFont.setPixelSize(15);
 ?? ??? ?a.setFont(defaultFont);
 ?? ?}
后由于字體文件較大(8M),不易于更新,改為動態加載絕對路徑。
?? ?QString fontPath = QString("%1/font/SourceHanSansCN-Medium.ttf").arg(QCoreApplication::applicationDirPath());
 ?? ?int loadedFontID = QFontDatabase::addApplicationFont(fontPath);
 ?? ?QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
 ?? ?if (!loadedFontFamilies.empty())?
 ?? ?{
 ?? ??? ?QString sansCNFamily = loadedFontFamilies.at(0);
 ?? ??? ?QFont defaultFont = a.font();
 ?? ??? ?defaultFont.setFamily(sansCNFamily);
 ?? ??? ?defaultFont.setPixelSize(15);
 ?? ??? ?a.setFont(defaultFont);
 ?? ?}
這邊使用ttf格式,是因為之前的otf加載顯示成功,但字體未變化。
網絡上下載到的思源黑體ttf,使用后無法顯示字體。通過在線轉換的ttf也無法使用,推薦下載FontCreatorhanhua,打開otf字體,然后另存為ttf格式即可。
這邊也可以下載新的下載目錄
總結
以上是生活随笔為你收集整理的Qt更改字体为思源黑体的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: caffe 初学参考链接
- 下一篇: 移植U-BOOT之支持烧写YAFFS文件
