国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CMake+QT使用教程

這篇具有很好參考價值的文章主要介紹了CMake+QT使用教程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、CMake入門

下面是使用 Qt 用 C++ 編寫的控制臺應(yīng)用程序的典型文件:CMakeLists.txt

1.構(gòu)建一個控制臺應(yīng)用程序

# 指定應(yīng)用程序所需的CMake最低版本(Qt本身至少需要CMake版本3.16)
cmake_minimum_required(VERSION 3.16)

# 設(shè)置項(xiàng)目名稱和默認(rèn)項(xiàng)目版本,同時告訴CMake該程序是用C++編寫的
project(helloworld VERSION 1.0.0 LANGUAGES CXX)

# 設(shè)置變量CMAKE_CXX_STANDARD,指定C++版本(QT6需要支持c++ 17或更新版本的編譯器)
# 設(shè)置變量CMAKE_CXX_STANDARD_REQUIRED,如果編譯器太舊,讓CMake打印一個錯誤
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 設(shè)置CMake查找Qt6,并導(dǎo)入模塊Core
# 如果CMake找不到模塊,設(shè)置標(biāo)志REQUIRED讓CMake終止
# 如果成功,CMake將設(shè)置一些變量,這些變量記錄在模塊變量中(見變量參考Module variables)
# 為了能找到依賴包,CMake可以設(shè)置變量CMAKE_PREFIX_PATH包含Qt6安裝前綴
find_package(Qt6 REQUIRED COMPONENTS Core)

# qt_standard_project_setup命令為一般的QT應(yīng)用程序設(shè)置項(xiàng)目范圍的默認(rèn)值
# 除此之外,該命令將CMAKE_AUTOMOC變量設(shè)置為ON,指示CMake自動設(shè)置規(guī)則,以便在需要時透明地調(diào)用Qt的元對象編譯器(moc)。
qt_standard_project_setup()

# add_executable命令告訴CMake從指定源文件構(gòu)建一個可執(zhí)行文件(而不是庫)
# 注意,這里通常不列出頭文件。這與qmake不同,qmake需要顯式列出頭文件,以便元對象編譯器(moc)處理它們。
# 對于比較復(fù)雜的項(xiàng)目需要改為調(diào)用qt_add_executable(),它是內(nèi)置add_executable()命令的包裝器,提供了額外的邏輯來自動處理諸如在靜態(tài)Qt構(gòu)建中鏈接Qt插件、特定于平臺的庫名定制等。
# 要創(chuàng)建庫,使用qt_add_library。
add_executable(helloworld
    main.cpp
)

# 最后告訴CMake, helloworld可執(zhí)行文件通過引用由上面的find_package()調(diào)用導(dǎo)入的Qt6::Core目標(biāo)來使用Qt的Core模塊。這不僅可以為鏈接器添加正確的參數(shù),還可以確保將正確的include目錄、編譯器定義傳遞給c++編譯器。PRIVATE關(guān)鍵字對于可執(zhí)行目標(biāo)并不是嚴(yán)格必要的,但是指定它是一種良好的實(shí)踐。
# 如果helloworld是一個庫而不是可執(zhí)行文件,則應(yīng)該指定PRIVATE或PUBLIC(如果庫在頭文件中提到了來自Qt6::Core的內(nèi)容,則為PUBLIC,否則為PRIVATE)
target_link_libraries(helloworld PRIVATE Qt6::Core)

2.構(gòu)建一個界面應(yīng)用程序

cmake_minimum_required(VERSION 3.16)

project(helloworld VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets)
qt_standard_project_setup()

add_executable(helloworld
    mainwindow.ui
    mainwindow.cpp
    main.cpp
)

target_link_libraries(helloworld PRIVATE Qt6::Widgets)

# 最后,我們在應(yīng)用程序目標(biāo)上設(shè)置屬性,效果如下:
# 防止在Windows上創(chuàng)建控制臺窗口。
# 在macOS上創(chuàng)建應(yīng)用程序包。
set_target_properties(helloworld PROPERTIES
    WIN32_EXECUTABLE ON
    MACOSX_BUNDLE ON
)

3.構(gòu)建子目錄項(xiàng)目

  • 項(xiàng)目目錄結(jié)構(gòu)
<project root>
├── CMakeLists.txt
└── src
    └── app
        ├── CMakeLists.txt
        ├── main.cpp
        ├── mainwindow.cpp
        ├── mainwindow.h
        └── mainwindow.ui
  • 頂層CMakeLists.txt,包含整個項(xiàng)目的設(shè)置并調(diào)用add_subdirectory,頂層CMakeLists.txt設(shè)置的變量在子目錄項(xiàng)目中可見
cmake_minimum_required(VERSION 3.16)

project(helloworld VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets)
qt_standard_project_setup()

add_subdirectory(src/app)
  • 子目錄項(xiàng)目CMakeLists.txt
add_executable(helloworld
    mainwindow.ui
    mainwindow.cpp
    main.cpp
)

target_link_libraries(helloworld PRIVATE Qt6::Widgets)

set_target_properties(helloworld PROPERTIES
    WIN32_EXECUTABLE ON
    MACOSX_BUNDLE ON
)

4.構(gòu)建庫和使用庫

  • 項(xiàng)目目錄結(jié)構(gòu)
<project root>
├── CMakeLists.txt
└── src
    ├── app
    │   ├── ...
    │   └── main.cpp
    └── businesslogic
        ├── CMakeLists.txt
        ├── businesslogic.cpp
        └── businesslogic.h
  • 庫項(xiàng)目文件(src/businesslogic/CMakeLists.txt)
# add_library命令創(chuàng)建businesslogic庫,STATIC表示靜態(tài)庫,SHARED表示動態(tài)庫
add_library(businesslogic STATIC
    businesslogic.cpp
)

target_link_libraries(businesslogic PRIVATE Qt6::Core)

# 通過調(diào)用target_include_directories,確保businesslogic目錄的絕對路徑被自動添加為使用我們的庫的所有目標(biāo)的包含路徑。
# 這使我們在main.cpp中不用使用相對路徑來定位businesslogic.h。相反,我們可以直接寫#include <businesslogic.h>
target_include_directories(businesslogic INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})

最后,我們必須將庫的子目錄添加到頂級項(xiàng)目文件中:

add_subdirectory(src/app)
add_subdirectory(src/businesslogic)
  • 使用庫
target_link_libraries(helloworld PRIVATE
    businesslogic
    Qt6::Widgets)

5.添加資源

qt_add_resources(helloworld imageresources
    PREFIX "/images"
    FILES logo.png splashscreen.png
)

用法:

logoLabel->setPixmap(QPixmap(":/images/logo.png"));

6.添加翻譯

qt_add_translations(helloworld
    TS_FILES helloworld_de.ts helloworld_fr.ts)

要更新.ts文件中的條目,構(gòu)建update_translations目標(biāo):

$ cmake --build . --target update_translations

要手動觸發(fā).qm文件的生成,構(gòu)建release_translations目標(biāo):

$ cmake --build . --target release_translations

二、CMake命令參考(CMake Command Reference)

  • Qt6::Core

    CMake命令 描述
    qt_add_big_resources 將大型二進(jìn)制資源編譯為目標(biāo)代碼
    qt_add_binary_resources 從 Qt 資源文件列表創(chuàng)建 RCC 文件
    qt_add_executable 創(chuàng)建并最終確定指定平臺類型的應(yīng)用程序目標(biāo)
    qt_add_library 創(chuàng)建并完成庫
    qt_add_plugin 創(chuàng)建 Qt 插件目標(biāo)
    qt_add_resources 將二進(jìn)制資源編譯為源代碼
    qt_allow_non_utf8_sources 防止強(qiáng)制將源文件視為適用于 Windows 的 UTF-8
    qt_android_add_apk_target 定義運(yùn)行安卓部署qt以生成APK的構(gòu)建目標(biāo)
    qt_android_apply_arch_suffix 將目標(biāo)二進(jìn)制文件的名稱配置為包含特定于體系結(jié)構(gòu)的后綴
    qt_android_generate_deployment_settings 生成 androiddeployqt 所需的部署設(shè)置文件
    qt_deploy_qt_conf 在部署時編寫 qt.conf 文件
    qt_deploy_runtime_dependencies 部署可執(zhí)行文件所需的Qt插件,Qt和非Qt庫
    qt_disable_unicode_defines 防止在目標(biāo)上自動設(shè)置某些與 Unicode 相關(guān)的編譯器定義
    qt_extract_metatypes 防止在目標(biāo)上自動設(shè)置某些與 Unicode 相關(guān)的編譯器定義
    qt_finalize_project 處理與Qt項(xiàng)目相關(guān)的各種常見平臺特定任務(wù)
    qt_finalize_target 處理與Qt目標(biāo)相關(guān)的各種常見平臺特定任務(wù)
    qt_generate_deploy_app_script 為應(yīng)用程序生成部署腳本
    qt_generate_moc 對輸入文件調(diào)用 moc
    qt_import_plugins 指定要為靜態(tài)Qt構(gòu)建導(dǎo)入的自定義插件集
    qt_set_finalizer_mode 自定義目標(biāo)最終確定的各個方面
    qt_standard_project_setup 將項(xiàng)目范圍的默認(rèn)設(shè)置設(shè)置為標(biāo)準(zhǔn)排列
    qt_wrap_cpp 從源文件創(chuàng)建.moc文件
  • Qt6::DBus

    CMake命令 描述
    qt_add_dbus_adaptor 將項(xiàng)目范圍的默認(rèn)設(shè)置設(shè)置為標(biāo)準(zhǔn)排列
    qt_add_dbus_interface 生成實(shí)現(xiàn) D-Bus 接口描述文件接口的C++源
    qt_add_dbus_interfaces 生成實(shí)現(xiàn) D-Bus 接口描述文件接口的C++源
    qt_generate_dbus_interface 從頭文件生成 D-Bus 接口
  • Qt6::InterfaceFramework

    CMake命令 描述
    qt_ifcodegen_extend_target 使用從 qface IDL 文件生成的文件擴(kuò)展目標(biāo)
    qt_ifcodegen_generate 從 qface IDL 文件生成文件
    qt_ifcodegen_import_variables 從 qface IDL 文件生成文件,并提供變量以在 CMake 中使用
    qt_set_ifcodegen_variable 將變量設(shè)置為 ifcodegen 模板中的給定 c 值
  • Qt6::LinguistTools

    CMake命令 描述
    qt_add_lrelease 添加目標(biāo)以將Qt語言學(xué)家.ts文件轉(zhuǎn)換為.qm文件
    qt_add_lupdate 添加目標(biāo)以生成或更新Qt語言學(xué)家.ts文件
    qt_add_translation 添加目標(biāo)以生成或更新Qt語言學(xué)家.ts文件
    qt_add_translations 添加目標(biāo)以更新Qt Linguist .ts文件并將其轉(zhuǎn)換為.qm文件
    qt_create_translation 設(shè)置Qt語言學(xué)家翻譯工具鏈
  • Qt6::Qml

    CMake命令 描述
    qt_add_qml_module 設(shè)置Qt語言學(xué)家翻譯工具鏈
    qt_add_qml_plugin 定義與 QML 模塊關(guān)聯(lián)的插件
    qt_deploy_qml_imports 部署可執(zhí)行文件所需的 QML 模塊的運(yùn)行時組件
    qt_generate_deploy_qml_app_script 為 QML 應(yīng)用程序生成部署腳本
    qt_generate_foreign_qml_types 在 QML 模塊中注冊來自一個目標(biāo)的類型
    qt_import_qml_plugins 確保為靜態(tài)構(gòu)建導(dǎo)入目標(biāo)所需的 QML 插件
    qt_query_qml_module 檢索有關(guān) QML 模塊的信息
    qt_target_compile_qml_to_cpp
    qt_target_qml_sources 檢索有關(guān) QML 模塊的信息
  • Qt6::RemoteObjects

    CMake命令 描述
    qt_add_repc_merged 從 Qt 遠(yuǎn)程對象 .rep 文件為源和副本類型創(chuàng)建C++頭文件
    qt_add_repc_replicas 從 Qt 遠(yuǎn)程對象 .rep 文件為副本類型創(chuàng)建C++頭文件
    qt_add_repc_sources 從 Qt 遠(yuǎn)程對象 .rep 文件為源類型創(chuàng)建C++頭文件
    qt_reps_from_headers 從 QObject 頭文件創(chuàng)建 .rep 文件
  • Qt6::Scxml

    CMake命令 描述
    qt_add_statecharts
  • Qt6::ShaderTools

    CMake命令 描述
    Qt Shader Tools Build System Integration 編譯著色器并將其添加到Qt資源
  • Qt6::Widgets

    CMake命令 描述
    qt_wrap_ui 編譯著色器并將其添加到Qt資源
  • Qt6::WebEngineCore

    CMake命令 描述
    qt_add_webengine_dictionary 將 hunspell 字典格式轉(zhuǎn)換為 bdict 二進(jìn)制格式

三、CMake變量參考(CMake Variable Reference)

1.模塊變量(Module variables)

變量 描述
Qt6Widgets_COMPILE_DEFINITIONS 針對庫構(gòu)建時使用的編譯定義列表。
Qt6Widgets_DEFINITIONS 針對庫進(jìn)行構(gòu)建時使用的定義列表。
Qt6Widgets_EXECUTABLE_COMPILE_FLAGS 針對庫構(gòu)建可執(zhí)行文件時使用的標(biāo)志字符串。
Qt6Widgets_FOUND 描述是否成功找到模塊的布爾值。
Qt6Widgets_INCLUDE_DIRS 針對庫構(gòu)建時使用的包含目錄列表。
Qt6Widgets_LIBRARIES 模塊導(dǎo)入的目標(biāo)的名稱:Qt5::Widgets
Qt6Widgets_PRIVATE_INCLUDE_DIRS 在構(gòu)建庫和使用私有Qt API時使用的私有包含目錄列表。
Qt6Widgets_VERSION_STRING 包含模塊版本的字符串。

2.安裝變量(Installation variables)

變量 描述
QT_DEFAULT_MAJOR_VERSION 在混合Qt 5和Qt 6項(xiàng)目的情況下,在調(diào)用相應(yīng)的find_package()之前,需要將其設(shè)置為5或6。如果未設(shè)置,第一次find_package調(diào)用將定義默認(rèn)版本。
QT_LIBINFIX 當(dāng)Qt配置了-libinfix時,保存庫名稱中使用的中綴的字符串。
QT_NO_CREATE_VERSIONLESS_FUNCTIONS 隱藏以qt_開頭的命令,只保留以qt6_開頭的版本化命令。
QT_NO_CREATE_VERSIONLESS_TARGETS 隱藏導(dǎo)入的以Qt::開頭的目標(biāo)。相反,您需要使用以Qt6::開頭的目標(biāo)。
QT_VISIBILITY_AVAILABLE 在Unix上,一個布爾值,用于描述Qt庫和插件是否使用-fvisibility=hidden進(jìn)行編譯。這意味著只導(dǎo)出選定的符號。

3.項(xiàng)目變量(Project variables)

  • Qt6::Core
變量 描述
ANDROID_NDK_HOST_SYSTEM_NAME 特定于android的主機(jī)系統(tǒng)架構(gòu)
ANDROID_SDK_ROOT Android SDK的位置
QT_ANDROID_ABIS 為其構(gòu)建項(xiàng)目包的abi列表
QT_ANDROID_APPLICATION_ARGUMENTS 要傳遞給Android應(yīng)用程序的參數(shù)列表
QT_ANDROID_BUILD_ALL_ABIS 允許使用自動檢測的Qt for Android SDK列表構(gòu)建多abi包
QT_ANDROID_MULTI_ABI_FORWARD_VARS 允許在多個abi構(gòu)建中共享CMake變量
QT_ANDROID_SIGN_AAB 使用指定的密鑰庫、別名和存儲密碼對.aab包進(jìn)行簽名
QT_ANDROID_SIGN_APK 使用指定的密鑰庫、別名和存儲密碼對包進(jìn)行簽名
QT_DEPLOY_BIN_DIR 前綴-相對子目錄,用于在某些目標(biāo)平臺上部署運(yùn)行時二進(jìn)制文件
QT_DEPLOY_LIB_DIR 前綴相對子目錄,用于在某些目標(biāo)平臺上部署庫
QT_DEPLOY_PLUGINS_DIR 前綴-相對子目錄,用于在一些目標(biāo)平臺上部署Qt插件
QT_DEPLOY_PREFIX 部署的基本位置
QT_DEPLOY_QML_DIR 前綴-相對子目錄,用于在一些目標(biāo)平臺上部署QML插件
QT_DEPLOY_SUPPORT 要包括用于設(shè)置部署支持的文件的名稱
QT_ENABLE_VERBOSE_DEPLOYMENT 啟用部署工具的詳細(xì)模式
QT_HOST_PATH 交叉編譯時主機(jī)Qt安裝的位置
QT_IOS_LAUNCH_SCREEN 所有目標(biāo)使用的iOS啟動屏幕故事板的路徑
QT_NO_COLLECT_BUILD_TREE_APK_DEPS 防止在Android部署期間收集項(xiàng)目構(gòu)建的共享庫目標(biāo)
QT_NO_SET_XCODE_BUNDLE_IDENTIFIER 在iOS上禁用在目標(biāo)終結(jié)期間提供備用應(yīng)用程序包ID
QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID 在iOS上禁用在目標(biāo)完成過程中提供備用團(tuán)隊(duì)ID
QT_NO_STANDARD_PROJECT_SETUP 防止后續(xù)對qt_standard_project_setup()的調(diào)用進(jìn)行任何更改
QT_PATH_ANDROID_ABI_ 為相應(yīng)的ABI指定Qt for Android路徑的變量集
  • Qt6::Qml
變量 描述
QT_QML_OUTPUT_DIRECTORY 默認(rèn)情況下將在其下面創(chuàng)建QML模塊的基本輸出目錄
  • Qt6::InterfaceFramework
變量 描述
IFCODEGEN_VERBOSE 為所有ifcodegen函數(shù)啟用詳細(xì)日志記錄
QT_IFCODEGEN_TEMPLATE_SEARCH_PATH ifcodegen模板的搜索路徑

四、CMake屬性參考(CMake Property Reference)

  • Qt6::Core

    目標(biāo)屬性

屬性 描述
QT_ANDROID_ABIS 為單個目標(biāo)的包構(gòu)建的abi列表
QT_ANDROID_DEPLOYMENT_DEPENDENCIES 覆蓋添加到目標(biāo)部署中的Qt依賴項(xiàng)
QT_ANDROID_DEPLOYMENT_SETTINGS_FILE 指定目標(biāo)生成的部署設(shè)置文件的位置
QT_ANDROID_EXTRA_LIBS 要與目標(biāo)一起部署的額外庫
QT_ANDROID_EXTRA_PLUGINS 額外的Qt插件與目標(biāo)一起部署
QT_ANDROID_MIN_SDK_VERSION Android SDK最低版本
QT_ANDROID_NO_DEPLOY_QT_LIBS Qt共享庫是否打包在Android的APK中
QT_ANDROID_PACKAGE_SOURCE_DIR 自定義Android包模板的路徑
QT_ANDROID_SDK_BUILD_TOOLS_REVISION Android構(gòu)建工具的修訂使用
QT_ANDROID_SYSTEM_LIBS_PREFIX 指定Qt庫在目標(biāo)設(shè)備上的位置
QT_ANDROID_TARGET_SDK_VERSION Android目標(biāo)SDK版本
QT_ANDROID_VERSION_CODE Android內(nèi)部應(yīng)用版本
QT_ANDROID_VERSION_NAME 可讀的安卓應(yīng)用版本
QT_IOS_LAUNCH_SCREEN iOS啟動屏幕故事板的路徑
QT_QML_IMPORT_PATH 指定要搜索QML導(dǎo)入的目錄列表
QT_QML_ROOT_PATH 覆蓋應(yīng)用程序qml目錄的位置
QT_RESOURCE_PREFIX 指定默認(rèn)的Qt資源前綴
QT_WASM_INITIAL_MEMORY 內(nèi)部WebAssembly初始內(nèi)存
QT_WASM_PTHREAD_POOL_SIZE 內(nèi)部WebAssembly線程池大小
qt_no_entrypoint 指定禁止鏈接到Qt的入口點(diǎn)庫

源文件屬性文章來源地址http://www.zghlxwxcb.cn/news/detail-615589.html

屬性 描述
QT_RESOURCE_ALIAS 為資源中的文件指定Qt資源別名
  • Qt6::DBus

源文件屬性

屬性 描述
CLASSNAME 覆蓋默認(rèn)的接口類名
INCLUDE 添加一個包含路徑
NO_NAMESPACE 禁止生成名稱空間名稱
  • Qt6::Qml

源文件屬性

屬性 描述
QT_QMLTC_FILE_BASENAME 指定非默認(rèn)的.h和.cpp文件名
QT_QML_INTERNAL_TYPE 將QML文件標(biāo)記為提供內(nèi)部類型
QT_QML_SINGLETON_TYPE 將QML文件標(biāo)記為提供單例類型
QT_QML_SKIP_CACHEGEN 不允許將文件編譯為字節(jié)代碼
QT_QML_SKIP_QMLDIR_ENTRY 排除一個文件作為類型添加到QML模塊的typeinfo文件
QT_QML_SKIP_QMLLINT 防止一個文件被自動qmllint處理
QT_QML_SKIP_TYPE_COMPILER 不允許使用qmltc將文件編譯為c++
QT_QML_SOURCE_TYPENAME 重寫文件提供的類型名稱
QT_QML_SOURCE_VERSIONS 指定類型的自定義版本集

到了這里,關(guān)于CMake+QT使用教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++ cmake工程引入qt6和Quick 教程

    在現(xiàn)代軟件開發(fā)中,跨平臺的圖形用戶界面(GUI)和可視化功能已經(jīng)變得非常重要。Qt和Qt Quick(基于QML)是強(qiáng)大而靈活的工具,可以幫助開發(fā)者快速構(gòu)建出色的應(yīng)用程序。然而,當(dāng)你已經(jīng)有一個基于C++和CMake的工程時,將Qt和Qt Quick引入可能需要一些指導(dǎo)。 本教程將幫助具有

    2024年02月03日
    瀏覽(17)
  • CMake+QT+大漠插件的桌面應(yīng)用開發(fā)(QThread)

    CMake+QT+大漠插件的桌面應(yīng)用開發(fā)(QThread)

    在CMake+QT+大漠插件的桌面應(yīng)用開發(fā)中已經(jīng)給出了 QT 配合 大漠插件 開發(fā)桌面應(yīng)用的樣例 不過由于主窗口的UI操作和大漠的調(diào)用是在一個線程里面的,所以當(dāng)大漠調(diào)用時間過長時會出現(xiàn)UI界面卡頓的現(xiàn)象 我們可以利用子線程處理耗時操作,處理完后再由主線程(UI線程)更新界

    2024年01月18日
    瀏覽(21)
  • ??禉C(jī)器人工業(yè)相機(jī) Win10+Qt+Cmake 開發(fā)環(huán)境搭建

    海康機(jī)器人工業(yè)相機(jī) Win10+Qt+Cmake 開發(fā)環(huán)境搭建

    參考這個鏈接安裝好MVS客戶端 Qt新建一個c++項(xiàng)目 cmakeList中添加??禉C(jī)器人的庫,如下: main.cpp中添加以下代碼 運(yùn)行程序,出現(xiàn)以下內(nèi)容則說明安裝庫成功

    2024年02月11日
    瀏覽(18)
  • QT上位機(jī)開發(fā)(抽獎軟件)

    QT上位機(jī)開發(fā)(抽獎軟件)

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? 用抽獎軟件抽獎,是一種很常見的抽獎方式。特別是寫這篇文章的時候,正好處于2023年12月31日,也是一年中最后一天。雖然今年過年晚一點(diǎn),但是2到3個星期之后,基本上各家公司都

    2024年02月03日
    瀏覽(21)
  • QT開發(fā)實(shí)戰(zhàn)-動態(tài)壁紙軟件

    QT開發(fā)實(shí)戰(zhàn)-動態(tài)壁紙軟件

    項(xiàng)目源代碼在下面鏈接獲取: ----------------------------- 開發(fā)者:CodeSharkSJ 希望此項(xiàng)目能加強(qiáng)你對Qt的應(yīng)用 文章目錄 項(xiàng)目圖與開發(fā)環(huán)境 核心技術(shù)原理 自定義窗口程序 UI布局 背景繪制 樣式表 基本實(shí)現(xiàn) QWebEngine QMedia使用 系統(tǒng)托盤隱藏 記憶功能 應(yīng)用程序打包 開發(fā)環(huán)境: visual studio 2

    2024年02月05日
    瀏覽(24)
  • QT上位機(jī)開發(fā)(會員充值軟件)

    QT上位機(jī)開發(fā)(會員充值軟件)

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? 所有的控件當(dāng)中,除了label、edit、radio、combobox和button之外,另外一個用的比較多的控件就是grid,也可稱之為表格。表格,在很多場景下都可以發(fā)揮著重要的作用,比如說統(tǒng)計(jì)、項(xiàng)目管

    2024年01月24日
    瀏覽(24)
  • QT上位機(jī)開發(fā)(乘法計(jì)算小軟件)

    QT上位機(jī)開發(fā)(乘法計(jì)算小軟件)

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? 前面一篇文章,我們學(xué)習(xí)了怎么創(chuàng)建qt的第一個工程,怎么用designer給qt修改界面。雖然我們到目前為止,還沒有編寫一行代碼,但是好像也做出了第一個qt軟件,即使這個軟件好像沒有

    2024年02月04日
    瀏覽(22)
  • QT上位機(jī)開發(fā)(會員管理軟件)

    QT上位機(jī)開發(fā)(會員管理軟件)

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? 前面我們學(xué)習(xí)了ini文件的解析辦法,通過QSettings類就可以很輕松地訪問ini文件里面的數(shù)據(jù)。除了ini文件之外,另外一種經(jīng)常出現(xiàn)的文件格式其實(shí)是json格式。一般來說,如果讀寫的數(shù)據(jù)

    2024年02月03日
    瀏覽(20)
  • QT上位機(jī)開發(fā)(內(nèi)嵌虛擬機(jī)的軟件開發(fā))

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? 不知道大家有沒有玩過plc設(shè)備。plc設(shè)備從本質(zhì)上來說,就是一個單片機(jī)設(shè)備,只不過它的電源、輸入、輸出做了很多的加強(qiáng)措施。但是從功能說,plc又不是一個簡單的io設(shè)置,好像只需

    2024年02月02日
    瀏覽(28)
  • Qt的三大優(yōu)勢,打造高效工業(yè)軟件開發(fā):

    Qt的三大優(yōu)勢,打造高效工業(yè)軟件開發(fā):

    強(qiáng)大的跨平臺特性:Qt擁有優(yōu)良的跨平臺支持,可以在眾多操作系統(tǒng)上運(yùn)行,包括Microsoft Windows、Linux、Solaris、HP-UX、FreeBSD、QNX等等。這使得開發(fā)者可以輕松地將應(yīng)用程序部署到不同的平臺上,提高開發(fā)效率和覆蓋范圍。 面向?qū)ο蟮脑O(shè)計(jì):Qt以面向?qū)ο蟮乃枷霝榛A(chǔ),具備良好

    2024年02月16日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包