一、创建工作空间
mkdir -p test_qt/src
cd test_qt/src
catkin_init_workspace
二、创建功能包
在src这个文件夹下创建功能包,随便取个名字test_qt_pkg
cd ~/test_qt/src
catkin_create_pkg test_qt_pkg
回到工作空间下进行编译
cd ~/test_qt
catkin_make
现在应该有文件夹下应该有这些(.vscode除外)
工作空间test_qt下的src用于存放功能包,功能包test_qt_pkg下直接放代码
使用catkin_make的好处是配置和使用起来都比较简单,文件也能保存在相应的位置,便于管理
三、编写程序
进入功能包test_qt_pkg文件夹
cd ~/test_qt/src/test_qt_pkg/
gedit hello.cpp
打开gedit输入以下代码
#include <QApplication>//必须有
#include <QLabel>///标签控件
#include <QPushButton>//按钮控件
int main(int argc, char** argv)
{
//创建Qt应用程序对象,固定写法必须有
QApplication app(argc,argv) ;
//创建标签控件
QLabel label("Hello Qt!") ;
//显示标签控件
label.show() ;
//让应用程序进入事件
return app.exec() ;
}
四、配置CMakelists.txt
看一下安装的Qt版本,我这里是Qt5
在官网https://doc.qt.io/qt-5.15/cmake-get-started.html找到相应配置方法
打开文件,注意是功能包下的CMakelists.txt
cd ~/test_qt/src/test_qt_pkg/
gedit CMakeLists.txt
复制官网的文件,将原CMakeLists.txt替换为如下
cmake_minimum_required(VERSION 3.1.0)
project(helloworld VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
if(CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()
find_package(Qt5 COMPONENTS Widgets REQUIRED)
add_executable(helloworld#可执行程序
hello.cpp#原代码
)
target_link_libraries(helloworld Qt5::Widgets)
五、编译运行
回到工作空间进行编译,代码如下
cd ~/test_qt/
catkin_make
编译成功
可执行文件在build里面,运行如下代码运行程序
./build/test_qt_pkg/helloworld
运行成功