Linux下qt程序缺少中文字库,中文显示为框框

现象

Linux下qt5.9编译程序,运行时候界面上的中文显示一个一个的框框。

如图

原因

开发板里缺少中文字库或者qt字库环境未正常配置导致的。

解决方法一:

如果系统中存在中文字库,一般是在/usr/share/下有一个fonts文件夹

配置qt中文字库路径,在/etc/profile文件末尾添加

bash 复制代码
export QT_QPA_FONTDIR=/usr/share/fonts
解决方法二:

如果系统中不存在中文字库

1、去以下网址下载一个中文字库。

bash 复制代码
http://wenq.org/wqy2/index.cgi?BitmapSong

2、将下载之后的.prc结尾的文件全部传入到开发板中(放到这个路径下:/usr/lib/fonts/)

3、打开你的qt工程,在main.cpp里面添加对中文字库的支持

bash 复制代码
#include "mainwindow.h"
#include <QApplication>
#include <QFont>
#include <QFontDatabase>
int main(int argc,char *argv[])
{
	QApplication a(argc,argv);/添加中文字库
	int nlndex = QFontDatabase::addApplicationFont("/usr/lib/fonts/wenquanyi_9pt.pcf");
	QStringList strlist(QFontDatabase::applicationFontFamilies(nlndex));
	if(strlist.count()> 0)
	{
		QFont fontthis(strlist.at(0));
		a.setFont(fontthis);
	}
	MainWindow w;
	w.show();
	return a.exec();
}

4、重新编译工程,可以正常显示中文了!

相关推荐
ARM|X86+FPGA工业主板厂家10 分钟前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
sulikey20 分钟前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器
mengge.cloud21 分钟前
网络技术基础小白教程
linux·服务器·网络·云计算
pt104331 分钟前
网络自动化Python课程:Python与Linux密钥和敏感信息管理介绍
运维·自动化
严谨的麻辣烫38 分钟前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全
学代码的CJY39 分钟前
Linux 重定向、管道与环境变量
linux·spring boot·spring
云智慧AIOps社区40 分钟前
2026年智能巡检机器人行业格局:三类厂商阵营、选型维度与产品推荐
运维·人工智能·机器人·巡检机器人
treacle田1 小时前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机
shengchanxian11 小时前
2026年9月服务器装配流水线厂家技术测评:对标国标的硬件评判逻辑
运维·服务器·服务器装配流水线厂家
挨踢诗人2 小时前
金蝶云星空 × 乐企平台 直连数电票集成解决方案(农产品收购发票自动化)
运维·自动化