You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04+ROS Noetic环境下创建Qt GUI包的问题解决问询

ROS Noetic 创建Qt GUI功能包解决方案

方法1:移植旧版qt-create工具(兼容原catkin_create_qt_pkg命令)

Noetic官方虽移除了qt-create、qt-build组件,但可手动安装Melodic版本的对应工具实现原命令复用,操作如下:

  • 先安装基础依赖
sudo apt update
sudo apt install python3-catkin-pkg python3-empy qt5-default qtbase5-dev
  • 获取qt-create源码
    到ROS官方qt-create项目仓库选择melodic-devel分支,下载源码包后解压放到ROS工作空间的src目录下
  • 编译安装并生效
cd ~/catkin_ws
catkin_make install
source devel/setup.bash
  • 验证可用性,执行无报错即可正常使用原命令创建Qt功能包
catkin_create_qt_pkg --help

方法2:手动配置Qt5编译规则(无需额外安装工具)

如果不想移植旧工具,可直接手动修改普通ROS功能包的配置文件适配Qt5:

  • 第一步:创建基础ROS功能包,可根据需求替换依赖项
cd ~/catkin_ws/src
catkin_create_pkg 你的功能包名 roscpp std_msgs
  • 第二步:修改功能包下的package.xml,添加Qt5依赖声明
<build_depend>qtbase5-dev</build_depend>
<exec_depend>qtbase5-dev</exec_depend>
  • 第三步:修改CMakeLists.txt,添加Qt5编译配置
# 开启Qt5相关编译规则
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# 查找Qt5依赖组件
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)

# 添加头文件路径
include_directories(
  include
  ${catkin_INCLUDE_DIRS}
  ${Qt5Core_INCLUDE_DIRS}
  ${Qt5Widgets_INCLUDE_DIRS}
  ${Qt5Gui_INCLUDE_DIRS}
)

# 编译节点时链接Qt5库,替换为你自己的源码文件路径
add_executable(${PROJECT_NAME}_node src/main.cpp src/mainwindow.cpp)
target_link_libraries(${PROJECT_NAME}_node
  ${catkin_LIBRARIES}
  Qt5::Core
  Qt5::Widgets
  Qt5::Gui
)
  • 第四步:将Qt界面源码放到对应目录后,正常执行catkin_make即可编译运行

内容的提问来源于stack exchange,提问作者aspiringroboticist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:36:10