qt在arm上怎样能显示和pc机一样的字体,
1个回答
展开全部
如果你急于在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字体就可以了。很好的。
这样的文件的修改如果在程序较大,头文件较多的程序中比较麻烦,
希望你的早点好用!!
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板子上能正常显示么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询