qt 怎么让程序自带字体,就是说在操作系统上没有的字体?
还有在QFontComboBox 里的字体太多,我只想显示一部分,而且还想添加一些字体。
求高手帮忙,谢谢
------解决方案--------------------
可以使用
想要不显示 多余的字体,可以自己写一个QComboBox
加载自定义字体
另外使用该字体
还有在QFontComboBox 里的字体太多,我只想显示一部分,而且还想添加一些字体。
求高手帮忙,谢谢
![三星的Win8平板如何现在就有产品了,不是刚发布么](http://www.ylzx8.cn/imgs/imgs/img/2014/02/23/1209502632.gif)
------解决方案--------------------
可以使用
int QFontDatabase::addApplicationFont ( const QString & fileName )
想要不显示 多余的字体,可以自己写一个QComboBox
而且QFontComboBox也是继承于这个类的
QFontComboBox这个组合框的内容是qt自动填的,不可以修改和删除。
如果不想只想显示字体名称,可以使用QComboBox自己填充字体到该组合框中。
使用QFontDatabase获取字体。
加载自定义字体
QString Widget::loadFontFamilyFromTTF() { static QString font; static bool loaded = false; if(!loaded) { loaded = true; int loadedFontID = QFontDatabase::addApplicationFont(":/jinglei.FON"); QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID); if(!loadedFontFamilies.empty()) font = loadedFontFamilies.at(0); } return font; }
另外使用该字体
QString selfFont = loadFontFamilyFromTTF(); QFont f(selfFont); f.setPixelSize(38); lb_Progress->setFont(f);