Qt使用中遇到的问题和解决办法

1. 如何部署嵌入式系统中Qt的字体

1.首先将字体(我选择文泉驿字体微米黑)copy至qte的lib/font目录下
2.设置环境变量export QT_QWS_FONTDIR=/mnt/nfs/qte-arm/lib/fonts/ 
3.在函数里指定字体

在程序中加入代码:

QApplication app(argc,argv)

{

   QFont font;
   font.setPointSize(26);
   font.setFamily(("simsun"));
   app.setFont(font);
   QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));

}

 

2. linux中安装字体

字体房间放在/home/fwolf/tools/fonts文件夹中

复制或建立链接

cd /usr/share/fonts
ln -s /home/fwolf/tools/fonts xpfonts
cd xpfonts
mkfontscale
mkfontdir

这样作和把字体拷贝到/usr/share/fonts的一个目录下的效果是一样的。后面的两个mkfont命令是生成xpfonts目录下所包含的字体的索引信息。然后运行fc-cache命令更新字体缓存:

fc-cache

现在,应该说linux就可以使用这些新装上的中文字体了

 

3. 在PC端显示字体大小和嵌入式端字体大小不一致问题的解决办法

运行程序加入参数 -qws -font wenquanyi 使能使用的字体

在Qt程序启动脚本中加入以下代码

export QWS_DISPLAY=LinuxFB:mmWidth:270:0

其中270是根据自己情况调整。

 

4. 如何使于运行的程序不独占终端

在程序启动命令加入 & 参数就会使程序不独占终端 eg: ./terminal -qws -font wenquanyi &

 

5. Qt中设定PushButton焦点策略

ui->pushbutton1->setFocusPolicy(Qt::NoFocus); //设定不会自动获得焦点

 

6. 判断文件是否存在

QFileInfo myfile(path);

if myfile.exists() //存在为True 不存在为False

 

 

你可能感兴趣的:(qt)