当前位置: 首页 > news >正文

WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法

WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法

安装 wsl

wsl 更新

wsl --update
wsl --version
wsl --status
  • 我的显示如下, 如果你的版本不是 wsl2 需要改为 wsl2:
    $ wsl --update
    正在安装: 适用于 Linux 的 Windows 子系统
    已安装 适用于 Linux 的 Windows 子系统。
    $ wsl --version
    WSL 版本: 2.2.4.0
    内核版本: 5.15.153.1-2
    WSLg 版本: 1.0.61
    MSRDC 版本: 1.2.5326
    Direct3D 版本: 1.611.1-81528511
    DXCore 版本: 10.0.26091.1-240325-1447.ge-release
    Windows 版本: 10.0.19044.3570
    $ wsl --status
    默认分发: Ubuntu-16.04
    默认版本: 2

安装 WSL Ubuntu 22.04.3 LTS

改源

  • 将 Ubuntu 更新源改成国内镜像, 如清华源修改方法:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

  • 更新软件列表

# 拉取应用软件列表
sudo apt update
# 将 Ubuntu 软件和补丁更新到最新
sudo apt upgrade

安装Qt

  • 安装字体支持
# apt list --installed | grep libfontconfig1 检查是否已安装, 如没有, 则安装
sudo apt-get install libfontconfig1
  • 安装 C++ 编译环境
sudo apt-get install build-essential
  • 安装图形库
# Mesa 3D 图形库 是 Linux 上 OpenGL 的一个开源实现 ( Qt 开发图形界面需要此库 )
sudo apt-get install mesa-common-dev
  • 下载 Qt
    从 Qt 官网 https://download.qt.io/archive/qt/ 下载你需要的 Qt 版本, 并放入 Ubuntu 中
chmod +x qt-opensource-linux-x64-5.12.10.run
  • 安装 Qt
./qt-opensource-linux-x64-5.12.10.run
# 安装中选中 桌面开发, 其它按需选择
  • 把 Qt Creator 添加到命令
sudo vi /usr/bin/qtcreator
# 写入以下内容: 
#!/bin/sh
export QT_HOME=/home/edu/Qt5.12.10/Tools/QtCreator/bin
$QT_HOME/qtcreator $*
  • 给 Qt Creator 创建快捷方式
sudo vi /usr/share/applications/qtcreator.desktop
# 写入如下内容:
[Desktop Entry]
Type=Application
Name=Qt Creator
GenericName=C++ IDE for developing Qt applications
Exec=/home/edu/Qt5.12.10/Tools/QtCreator/bin/qtcreator
Icon=/home/edu/Qt5.12.10/Docs/Qt-5.12.10/qtdoc/images/icon_Qt_78x78px.png
Terminal=false
Categories=Development;IDE;Qt;
  • 至此, 就可以在 windows 端启动 Qt Creator 了
  • 如果你安装了 Ubuntu 桌面环境, 也可以将此快捷方式复制到桌面:
cp /usr/share/applications/qtcreator.desktop ~/Desktop/

安装中文输入法

  • 安装 Qt 输入法插件
# 如系统中能找到 libfcitx5platforminputcontextplugin.so 可以不安装, 将其复制到 Qt 对应目录即可
# sudo apt-get install fcitx-frontend-qt5 
cd ~/Qt5.12.10/5.12.10/gcc_64/plugins/platforminputcontexts/
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so .
chmod +x libfcitx5platforminputcontextplugin.socd ~/Qt5.12.10/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so .
chmod +x libfcitx5platforminputcontextplugin.so
  • 先安装中文字体, 解决中文显示为乱码的问题(参考: https://www.cnblogs.com/linkyip/p/18190249 )

  • 安装 Fcitx5 及其中文输入引擎

sudo apt install fcitx5 fcitx5-chinese-addons
  • 安装中文语言包
sudo apt install language-pack-zh-hans
  • 设置输入法为 Fcitx
# 设置系统语言
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:zh
# 设置输入法
export INPUT_METHOD=fcitx # wayland输入法
export XMODIFIERS=@im=fcitx # x11输入法
export GTK_IM_MODULE=fcitx # gtk输入法
export QT_IM_MODULE=fcitx # Qt应用的输入法
export SDL_IM_MODULE=fcitx # SDL2 应用的输入法
# export XIM_PROGRAM=fcitx # XIM的输入法
# export XIM=fcitx    # XIM的输入法
export GLFW_IM_MODULE=ibus # GLFW 应用应使用ibus
# 在没有 wayland 的环境中启用 Fcitx
fcitx5 --disable=wayland -d  --verbose '*'=0

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视频单目标跟踪研究
  • ChemChat——大语言模型与化学的未来,以及整合外部工具和聊天机器人的潜力
  • Nacos中的事件通知NotifyCenter、DefaultPublisher、InstancesChangeNotifier
  • LeetCode_sql_day28(1767.寻找没有被执行的任务对)
  • 欧美游戏市场的差异
  • echarts实现地图下钻并解决海南群岛显示缩略图
  • 快速使用react 全局状态管理工具--redux
  • 红队打点的思路与信息收集
  • 2025秋招LLM大模型多模态面试题(六)-KV缓存
  • Spring 源码解读:实现自定义注解处理器
  • Leetcode 和为 K 的子数组
  • 【面向对象】设计模式分类
  • arm和riscv系统调用对比(笔记)
  • 线程调优——调整线程池参数提升程序执行效率
  • git-fork操作指南
  • Centos6.8 使用rpm安装mysql5.7
  • django开发-定时任务的使用
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Javascript 原型链
  • Laravel5.4 Queues队列学习
  • Python语法速览与机器学习开发环境搭建
  • Vue2.0 实现互斥
  • vue-loader 源码解析系列之 selector
  • webgl (原生)基础入门指南【一】
  • 初识 beanstalkd
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 项目管理碎碎念系列之一:干系人管理
  • 源码安装memcached和php memcache扩展
  • 阿里云ACE认证之理解CDN技术
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • #include到底该写在哪
  • $nextTick的使用场景介绍
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (二)fiber的基本认识
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (二)springcloud实战之config配置中心
  • (回溯) LeetCode 131. 分割回文串
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)ABI是什么
  • (转)JAVA中的堆栈
  • (转)编辑寄语:因为爱心,所以美丽
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET 指南:抽象化实现的基类
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net6+aspose.words导出word并转pdf
  • .Net插件开发开源框架
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Async 异步注解使用
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @我的前任是个极品 微博分析
  • [ C++ ] STL_vector -- 迭代器失效问题