QT Quick(C++)跨平臺應用程序項目實戰教程 2 — 環境搭建和項目創建

目錄

引言

1. 安裝Qt開發環境

1.1 下載Qt安裝包

1.2 安裝Qt

1.3?安裝MSVC編譯器

2. 創建Qt Quick項目

2.1?創建新項目

2.2?項目結構

2.3?運行項目

3. 理解項目代碼

3.1?main.cpp文件

3.2 Main.qml文件


引言

在上一篇文章中,我們介紹了本教程的目標和結構,并簡要說明了Qt Quick和C++在跨平臺開發中的重要性。本文是教程的第2篇,我們將詳細講解如何搭建Qt開發環境,并創建一個Qt Quick項目。這是開發跨平臺應用程序的第一步,也是至關重要的一步。

1. 安裝Qt開發環境

1.1 下載Qt安裝包

首先,需要下載并安裝Qt開發環境。Qt提供了一個名為Qt Online Installer的工具,可以幫助我們輕松安裝Qt框架、Qt Creator IDE以及相關的工具和庫。

首先訪問Qt官方網站并下載適用于Windows操作系統的安裝包,如下圖所示。

如果官網下載速度慢,也可以選擇清華大學開源軟件鏡像站進行下載。

1.2 安裝Qt

雙擊安裝包進入安裝界面。首先需要登錄Qt賬戶,如果沒有需要按照界面提示進行賬戶注冊然后再登錄。

然后選擇安裝目錄并且選擇自定義安裝:

在接下來的安裝過程中,需要選擇要安裝的組件,推薦按照下圖所示進行勾選

最后按照默認提示完成安裝即可(在安裝過程中建議最好關閉殺毒軟件)。安裝過程中如果出現下載錯誤,可以單擊“重試”按鈕,大部分錯誤都是因為網絡不穩定因素造成的,通過重試可以重新斷點續傳。

本教程安裝的Qt版本為6.8.2這是一個長期支持版本。Qt Creator版本為16.0.0

1.3?安裝MSVC編譯器

前面安裝的Qt本質上是一個C++組件庫,它的運行還需要依賴C++及編譯器環境。由于本教程是在Windows系統上進行開發,因此優先推薦適配Windows C++的MSVC編譯器。

具體的,可以使用Visual Studio 2022來安裝對應的MSVC編譯器。首先前往Visual Studio官網下載Visual Studio 2022安裝包。

下載完成后雙擊安裝包進行安裝,在組件選擇時選擇“使用C++的桌面開發”,如下圖所示:

選擇好以后安裝默認提示進行安裝即可。

2. 創建Qt Quick項目

2.1?創建新項目

打開Qt Creator,依次單擊菜單欄頂部“文件”->“New Project”,在彈出的項目類型選項中選擇Qt Quick Application:

設置項目路徑及名稱:

然后選擇對應的Qt版本:

最后選擇構建套件:

最后單擊完成即可。

2.2?項目結構

創建項目后,會自動生成以下文件和文件夾:

  • Main.qml:這是Qt Quick應用程序的主界面文件,使用QML語言編寫。

  • main.cpp:這是C++入口文件,負責啟動QML引擎并加載main.qml

  • CMakeLists.txt:這是項目的構建配置文件。

2.3?運行項目

單擊左下角錘子狀“按鈕”,即可編譯項目。

編譯完成后,按Ctrl+R健運行啟動程序,如下圖所示:

你的第一個Qt Quick應用程序!

3. 理解項目代碼

3.1?main.cpp文件

main.cpp是應用程序的入口點,代碼如下:

#include <QGuiApplication>
#include <QQmlApplicationEngine>int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);QQmlApplicationEngine engine;QObject::connect(&engine,&QQmlApplicationEngine::objectCreationFailed,&app,[]() { QCoreApplication::exit(-1); },Qt::QueuedConnection);engine.loadFromModule("AudioPlayer", "Main");return app.exec();
}
  • QGuiApplication:管理GUI應用程序的控制流和主設置。

  • QQmlApplicationEngine:用于加載和運行QML文件。

  • engine.loadFromModule:加載Main.qml文件作為應用程序AudioPlayer的主界面。

3.2 Main.qml文件

Main.qml定義了應用程序的用戶界面,代碼如下:

import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")
}
  • Window:表示應用程序的主窗口。

  • widthheight:設置窗口的初始大小。

  • visible:設置窗口是否可見。

  • title:設置窗口標題。

現在,你已經成功搭建了Qt開發環境,并創建了第一個Qt Quick項目。在下一篇文章中,我們將深入探討Qt Quick的基礎知識,學習如何使用QML創建更復雜的用戶界面。

上一章:QT Quick(C++)跨平臺應用程序項目實戰教程 1 — 教程簡介-CSDN博客

下一章:QT Quick(C++)跨平臺應用程序項目實戰教程 3 — 項目基本設置(窗體尺寸、中文標題、窗體圖標、可執行程序圖標)-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73207.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

macOS Sequoia 15.3 一直彈出“xx正在訪問你的屏幕”

&#x1f645; 問題描述 macOS 系統升級后&#xff08;15.2或者15.3均出現過此問題&#xff09;&#xff0c;不管是截圖還是開騰訊會議&#xff0c;只要跟捕捉屏幕有關&#xff0c;都一直彈出這個選項&#xff0c;而且所有軟件我都允許訪問屏幕了&#xff0c;這個不是詢問是否…

二叉樹的學習

目錄 樹型結構&#xff08;了解&#xff09; 概念 概念&#xff08;重要&#xff09; 樹的表示形式&#xff08;了解&#xff09; 樹的應用 二叉樹&#xff08;重點&#xff09; 概念 兩種特殊的二叉樹 二叉樹的性質 利用性質做題&#xff08;關鍵&#xff09; 二叉…

AbMole新生大鼠腦類器官培養Protocol

近日&#xff0c;希臘亞里士多德大學塞薩洛尼基分校的研究團隊在《神經科學方法》&#xff08;Journal of Neuroscience Methods&#xff09;期刊上發表了一項引人注目的研究&#xff0c;他們開發了一種基于新生大鼠腦組織的新型類器官培養協議&#xff0c;并展望其在阿爾茨海默…

物理環境與安全

物理安全的重要性 信息系統安全戰略的一個重要組成部分物理安全面臨問題 環境風險不確定性人類活動的不可預知性 典型的物理安全問題 自然災害環境因素設備安全、介質安全、傳輸安全 場地選擇 區域&#xff1a;避開自然災害高發區環境&#xff1a;原理可能的危險因素抗震&…

手動離線安裝NextCloud插件

1、下載離線插件安裝包 進入NextCloud官方插件商城&#xff1a;https://apps.nextcloud.com/ 選擇自己需要的插件軟件 選擇NextCloud對應版本的插件安裝包 2、解壓安裝 進入的到NextCloud安裝目錄的apps目錄 cd /var/www/html/apps 將下載的xxx.tar.gz復制到apps目錄中解…

算力100問?第93問:算力資源為何更分散了?

目錄 1、政策驅動與地方投資的盲目性 2、美國芯片斷供與國產替代的陣痛 3、政企市場對私有云的偏好 4、技術標準與供需結構的失衡 5、產業生態與市場機制的滯后 6、破局路徑與未來展望 在大模型和人工智能技術快速發展的背景下,算力資源已成為數字經濟時代的核心基礎設施…

基于HTML的郵件發送狀態查詢界面設計示例

以下是一個基于HTML的郵件發送狀態查詢界面設計示例&#xff0c;結合篩選功能、狀態展示和重新發送操作&#xff0c;采用Bootstrap框架實現響應式布局&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"&…

分治-快速排序系列一>快速排序

目錄 題目方法&#xff1a;優化方法&#xff1a;代碼&#xff1a; 題目方法&#xff1a; 忘記快速排序看這里&#xff1a;鏈接: link 優化方法&#xff1a; 代碼&#xff1a; public int[] sortArray(int[] nums) {qsort(nums,0,nums.length-1);return nums;}private void qso…

《AI大模型趣味實戰 》第7集:多端適配 個人新聞頭條 基于大模型和RSS聚合打造個人新聞電臺(Flask WEB版) 1

AI大模型趣味實戰 第7集&#xff1a;多端適配 個人新聞頭條 基于大模型和RSS聚合打造個人新聞電臺(Flask WEB版) 1 摘要 在信息爆炸的時代&#xff0c;如何高效獲取和篩選感興趣的新聞內容成為一個現實問題。本文將帶領讀者通過Python和Flask框架&#xff0c;結合大模型的強大…

微服務 - 中級篇

微服務 - 中級篇 一、微服務架構深化&#xff08;一&#xff09;服務拆分原則&#xff08;二&#xff09;服務通信方式 二、微服務技術選型&#xff08;一&#xff09;開發框架&#xff08;二&#xff09;容器技術 三、微服務實踐與優化&#xff08;后續會詳細分析&#xff09;…

STM32__紅外避障模塊的使用

目錄 一、紅外避障模塊 概述 二、直接讀取OUT引腳電平 三、使用中斷方式觸發 一、紅外避障模塊 概述 引腳解釋&#xff1a; VCC接3.3V 或 5.0VGND接開發板的GNDOUT數字量輸出(0或1&#xff09;; 低電平時表示前方有障礙 ; 通過可調電阻調整檢測距離 產品特點&#xff1a; …

【AI大模型】DeepSeek + 通義萬相高效制作AI視頻實戰詳解

目錄 一、前言 二、AI視頻概述 2.1 什么是AI視頻 2.2 AI視頻核心特點 2.3 AI視頻應用場景 三、通義萬相介紹 3.1 通義萬相概述 3.1.1 什么是通義萬相 3.2 通義萬相核心特點 3.3 通義萬相技術特點 3.4 通義萬相應用場景 四、DeepSeek 通義萬相制作AI視頻流程 4.1 D…

帆軟第二題 - 多源報表

第二題&#xff0c;多源報表 實現功能&#xff1a; 多源報表&#xff1a;供應商與所在地區來源于表PRODUCER 明細來源于表PRODUCT 分組報表&#xff1a;按組顯示數據&#xff0c;每個供應商對應其產品明細 按組分頁&#xff1a;每個供應商一頁 表頭重復&#xff1a; 數據…

SVN忽略不必提交的文件夾和文件方法

最近有小伙伴在問&#xff1a;SVN在提交時如何忽略不必提交的文件夾和文件&#xff0c;如node_modules&#xff0c;.git&#xff0c;.idea等&#xff1f; 操作其實很簡單&#xff0c;下面直接上圖&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 最后一步&#xff1a; 第…

Uthana,AI 3D角色動畫生成平臺

Uthana是什么 Uthana 是專注于3D角色動畫生成的AI平臺。平臺基于簡單的文字描述、參考視頻或動作庫搜索&#xff0c;快速為用戶生成逼真的動畫&#xff0c;支持適配任何骨骼結構的模型。Uthana 提供風格遷移、API集成和定制模型訓練等功能&#xff0c;滿足不同用戶需求。平臺提…

六十天前端強化訓練之第二十九天之深入解析:從零構建企業級Vue項目的完整指南

歡迎來到編程星辰海的博客講解 看完可以給一個免費的三連嗎&#xff0c;謝謝大佬&#xff01; 目錄 一、Vite核心原理與開發優勢 二、項目創建深度解析 三、配置體系深度剖析 四、企業級項目架構設計 五、性能優化實戰 六、開發提效技巧 七、質量保障體系 八、擴展閱讀…

Ceph集群2025(Squid版)導出高可用NFS集群(上集)

#創建一個CephFS 文件系統 ceph fs volume create cephfs02#創建子卷 ceph fs subvolumegroup create cephfs02 myfsg2#查看子卷 ceph fs subvolumegroup ls cephfs02[{"name": "myfsg2"} ]創建 NFS Ganesha 集群 #例子 $ ceph nfs cluster create <c…

第2.3節 Android生成全量和增量報告

覆蓋率報告&#xff08;Coverage Report&#xff09;是一種軟件測試工具生成的報告&#xff0c;用于評估測試用例對代碼的覆蓋程度。它通過統計代碼中哪些部分已經被測試用例執行過&#xff0c;哪些部分還沒有被執行&#xff0c;來衡量測試的充分性。覆蓋率報告通常包括以下幾種…

奇跡科技:藍牙網關賦能少兒籃球教育的創新融合案例研究

一、引言 本文研究了福建奇跡運動體育科技有限公司&#xff08;簡稱‘奇跡科技’&#xff09;如何利用其創新產品體系和桂花網藍牙網關M1500&#xff0c;與少兒籃球教育實現深度融合。重點分析其在提升教學效果、保障訓練安全、優化個性化教學等方面的實踐與成效&#xff0c;為…

高考志愿填報管理系統基于Spring Boot SSM

目錄 摘要 ?一、系統需求分析?&#xff1a; 1.1用戶主體分析 1.2 功能需求分析 1.3、非功能需求分析 二、?技術實現?&#xff1a; ?三、結論?&#xff1a; 摘要 該系統主要實現了&#xff1a;學生信息管理、院校信息查詢、專業信息展示、志愿填報模擬、智能推薦管…