首页 > 其他分享 >vscode 创建QT最简工程

vscode 创建QT最简工程

时间:2024-07-29 12:59:01浏览次数:14  
标签:最简 set CMAKE QT vscode app PROJECT VERSION qt

1. 前提条件

2. 工程创建

  • include 放头文件
  • src .cpp 文件
  • CMakeList.tex cmake配置文件
    工程结构按需修改或创建, 修改cmake配置就行
    在这里插入图片描述

cmake配置:

cmake_minimum_required(VERSION 3.5)

project(app VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES QT6 QT5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) 

include_directories(${PROJECT_SOURCE_DIR}/include)

file(GLOB_RECURSE SRC_CPP_FILES src/*.cpp)  
file(GLOB_RECURSE SRC_HEADER_FILES include/*.h) 
set(PROJECT_SOURCES ${SRC_CPP_FILES} ${SRC_HEADER_FILES}) 
message(STATUS "src:${PROJECT_SOURCES}")

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(app
        MANUAL_FINALIZATION
        ${PROJECT_SOURCES}
    )
# Define target properties for Android with Qt 6 as:
#    set_property(TARGET qt_cmake_template APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
#                 ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
    if(ANDROID)
        add_library(app SHARED
            ${PROJECT_SOURCES}
        )
# Define properties for Android with Qt 5 after find_package() calls as:
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
    else()
        add_executable(app
            ${PROJECT_SOURCES}
        )
    endif()
endif()

target_link_libraries(app PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)

set_target_properties(app PROPERTIES
    MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

install(TARGETS app
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(app)
endif()

可以下载查看: https://download.csdn.net/download/qq_51355375/89590533

标签:最简,set,CMAKE,QT,vscode,app,PROJECT,VERSION,qt
From: https://blog.csdn.net/qq_51355375/article/details/140752130

相关文章

  • QT 中文字符报错乱码 C2001
    由于工作限制QT只能用很早的版本,学QT的时候,使按钮显示字符setText中放入中文字符,编译时报错 网上查了很多方法,主要是字符编码不一致的问题,这里总结一下首先查一下编码是不是UTF-8上方菜单栏中点击工具,在下拉列表里点击选项 在弹出的选项窗口中,进入文本编辑器->行为界面......
  • Qt+OpenCascade开发笔记(二):windows开发环境搭建(二):Qt引入occ库,搭建基础工程模板Demo和发
    前言  OpenCASCADE是由OpenCascadeSAS公司开发和支持的开源软件开发平台,旨在为特定领域快速开发程序而设计。它是一个面向对象的C++类库,提供了丰富的几何造型、数据交换和可视化等功能,成为许多CAD软件的核心组件。  本篇描述搭建Qt开发occ环境过程。 Demo  ......
  • vs2015+Qt环境问题汇总
    1、出现一下莫名奇妙的qt头文件编译报错可能原因是Qt版本太高,建议降低版本,VS2015与Qt5.12.9可以编译通过2、出现无法运行rc.exe错误左边项目资源管理器中右击-->属性-->常规->>目标平台选择8.13、打开.ui界面文件后提示打开错误1、右击ui文件,然后点【添......
  • 【QT】事件分发器 & 事件过滤器
    qt系统-事件分发器and事件过滤器一、事件分发器1.事件分发器概念2.事件分发器工作原理二、事件过滤器一、事件分发器1.事件分发器概念在Qt中,事件分发器(EventDispatcher)是一个核心概念,用于处理GUI应用程序中的事件。事件分发器负责将事件从⼀个对象......
  • Qt Android 实现全屏
    本文内容参考自:https://blog.csdn.net/jun4331247/article/details/807396621.新建JFullScreen.java,添加以下代码,放置在QT安装目录\android_armv7\src\android\java\src\org\qtproject\qt5\android\bindingspackageorg.qtproject.junj;importandroid.app.Activity;import......
  • 实战|Qt开发WordBN笔记软件#10 添加Font Awesome字体图标
    01背景【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件;WordBN基于VS2019、Qt6.5开发,使用QtQuick(QML)开发语言。本课程将以【WordBN字远笔记】的界面为实战基础,详细介绍如何基于Qt/QML开发语言,从零开始开发一套真正的程序,包括国际化、版本发布、安装包制作等项目......
  • 【QT】QT 系统相关(事件、文件、多线程、网络、音视频)
    一、Qt事件1、事件介绍事件是应用程序内部或者外部产生的事情或者动作的统称。在Qt中使用一个对象来表示一个事件。所有的Qt事件均继承于抽象类QEvent。事件是由系统或者Qt平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发......
  • 如何在 Python 中从 Milesight TrafficX 摄像头、Post(MQTT、TCP/IP、HTTP) 获取数据?
    你好,祝你度过愉快的一天或一夜,我有这个MilesightTrafficX摄像头已启动并正在运行,仪表板中有一个名为POST的设置,您可以在下图中看到:我想要的是知道如何设置这些设置(基于实际上我的意思是)能够在我的Python代码中接收数据。无论协议如何,数据都将如下所示:......
  • 如何利用PyQt实现列表添加删除排序功能?
    本文介绍如何实现列表增加删除和排序的功能,效果如下:1页面设计1.1列表#列表数据 self.list=['福宝','萌兰','金虎','蓝天']#创建四行一列标准数据模型self.mode=QStandardItemModel(4,1)#将数据中的列表项作为标准数据模型输出......
  • Qt连接GPS模块实现调用高德地图交互显示经纬度信息的功能
    最近需要设计一个qt界面,在里面通过串口接收并解析出gps模块的经纬度信息,再通过调用高德地图的api进行地图的显示,作为入门qt的项目踩了不少坑,特将这个项目开源出来,供初学者参考学习。项目链接放下边啦,欢迎大家star~https://github.com/daviddou2023/qt_screen_gps一.项目简介......