qt在arm上怎样能显示和pc机一样的字体,

QT写的程序,在pc机上可以显示100pt的字体但移植到arm开发板后无法正常显示... QT写的程序,在pc机上可以显示100pt的字体但移植到arm开发板后无法正常显示 展开
 我来答
爱清佳091
推荐于2017-10-09 · 超过18用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:53.4万
展开全部
如果你急于在ARM开发板上看到Qt显示中文,而不介意稍次的效果,可以在运行Qt程序时,增加设置字体的参数,比如运行名为hello的Qt程序:./hello -fn unifont

  1.首先,需要文泉驿字体文件,你可以从网络上下载得到这些文件,比如,wenquanyi_160_75.qpf。将全部文泉驿字体文件复制到ARM开发板上的Qt字体库中,在这个例子中,Qt字体库的路径是/usr/local/qt463lib/lib/fonts

  2.你还需要增加一个ARM开发板上的环境变量,在/etc/profile文件中增加:

  export QT_QWS_FONTDIR=/usr/local/qt463lib/lib/fonts

  3.在main.cpp中,修改

  QApplication a(argc, argv);

  QTextCodec *codec = QTextCodec::codecForName("gbk");

  QTextCodec::setCodecForLocale(codec);

  QTextCodec::setCodecForCStrings(codec);

  QTextCodec::setCodecForTr(codec);

  QFont font("wenquanyi",6);

  a.setFont(font);

  4.需要说明的是,QTextCodec *codec = QTextCodec::codecForName("gbk")如果不可行,你可以再试试QTextCodec *codec = QTextCodec::codecForName("UTF-8")

  //================================================ =================================== 首先要将字体库移到对应的QT的字体库的文件夹下!比如/x86/lib/fonts、/arm/lib/fonts下,我使用的是文泉驿的字体库!

  第一种方法是:需要的字体库文件,一般是多个。具体移植那一个,看你使用的字库是什么了

  在程序中需要这样设置:

  QTextCodec::setCodecForTr(QTextCodec::codecForName ("utf8"));

  QTextCodec::setCodecForCStrings(QTextCodec::codecF orName("utf8"));

  设置使用utf-8编码也就是unicode编码了,这样在tr和string的都是unicode的编码了,根据字库的索引就能对应相应的字符了。

  然后设置字体:

  //字体设置

  QFont font("wenquanyi",12,QFont::Bold); //使用wenquanyi字体

  this->setFont(font);

  //这样就设置了字体了,中文一般使用wenquanyi字体就可以了。很好的。

  这样的文件的修改如果在程序较大,头文件较多的程序中比较麻烦,

  希望你的早点好用!!
追问
谢谢您的指导,现在的问题是这样的,我的一个页面中使用了多种字体,使用以下方法改变的字体,
m_ui->label_show_power->setStyleSheet(QString::fromUtf8( "font: 100pt \"wenquanyi\";color: rgb(231,121,25);\n"));
请问wenquanyi是否有100pt的大字体,在arm板子上能正常显示么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式