【深智書摘】睽違八年終於更新!Qt6.0 帶給您嶄新視覺開發體驗

閱讀時間約 7 分鐘
Qt是軟體開發領域中非常著名的C++視覺化開發平台,能夠為應用程式開發者提供建立專業圖形化使用者介面所需的所有功能。QT有很完整的硬體、作業系統、視窗元件的處理,它是完全物件導向的,很容易擴充,並且可應用於元件程式設計,也是目前流行的Linux 桌面環境KDE 的基礎。相對於Visual C++,Qt更易於學習和開發。

【Qt6.0 的亮點】

(1) Qt繪製硬體介面。撰寫一次繪製程式,就能部署在任何硬體上。
(2) QtQuick 3D。整合原Qt中2D 和3D 功能到同一個技術堆疊上,使用同一套工具就能設計、開發2D 和3D 混合效果的使用者介面,實現下一代使用者的新體驗。
(3) QtQuick Controls 2 桌面樣式。像素級完美、原生外觀的控制項無縫整合入作業系統。
(4) HiDPI 支持。獨立縮放的支持,針對不同的顯示器設定自動縮放UI。
(5) QProperty 系統。透過C++ 中的綁定支援提高程式速度,將QML 最好用部分帶入Qt,並與QObject 無縫整合。
(6) 併發API 的改進。多核心CPU、平行計算、保持使用者介面流暢的同時在後台執行後端邏輯。自動根據硬體進行執行緒數量管理。
(7) 網路功能的改進。建立您自己的通訊後端,並將其整合到預設的Qt工作流中,自動增加與安全性相關的功能。
(8) 更新到C++17。更新到最新標準,提高程式的可讀性、執行性能和易維護性。
(9) CMake 支持。憑藉業界標準建構系統、豐富的功能集及龐大的生態系統建構Qt應用程式。
(10) Qtfor Microcontroller Unit(MCU)。輕量級繪製引擎可在具有2D 硬體加速的低成本硬體上部署基於QML 的UI,從而以最小的佔用空間(>80KB 記憶體)實現最佳的圖形性能。
(11) 無限的可擴充性。既可在超低成本硬體上部署類似於智慧型手機的使用者介面,也可在超級電腦上部署高級圖形介面。

【Qt可以做什麼?】

  • 操作Office
  Qt可在程式中直接操作讀寫Office 中的資料,也可以透過控制項將Office 文件中的資料顯示在應用程式圖形介面上供使用者預覽。例如Excel,其具有完整的試算表處理和計算功能,對其中的資料進行批次運算處理,用Qt操作Excel 可輔助執行大量原始資料的計算功能,巧妙地借助儲存格的運算功能就能極大地減輕Qt程式本身的計算負擔。而用Qt既可以對Word 中的文字也可以對表格中的資訊進行讀寫。
  • Qt國際化
  Qt目前的版本對國際化的支持已經相當完善。在文字顯示上,Qt使用Unicode作為內部編碼,可以同時支援多種編碼。Qt目前支援ISO標準編碼ISO 8859-1、ISO 8859-2、ISO 8859-3、ISO 8859-4、ISO 8859-5、ISO 8859-7、ISO 8859-9 和ISO 8859-15,中文GBK/Big5,日文eucJP/JIS/ShiftJIS,韓文eucKR,俄文KOI8-R,當然也可以直接使用UTF8 編碼。
  • QML程式設計基礎,QML動畫特效,QtQuick Controls開發基礎
  QML(QtMeta Language,Qt元語言)是一個用來描述應用程式介面的宣告式指令碼語言,自Qt4.7 引入。QML 具有良好的易讀性,它以視覺化元件及其互動和相互連結的方式來描述介面,使元件能在動態行為中互相連接,並支援在一個使用者介面上很方便地重複使用和訂製元件。
  QtQuick 是Qt為QML 提供的一套類別庫,由QML 標準類型和功能組成,包括視覺化類型、互動類型、動畫類型、模型和視圖、粒子系統和繪製效果等,在程式設計時只需要一筆import 敘述,程式設計師就能夠存取這些功能。使用QtQuick,設計和開發人員能很容易地用QML 建構出高品質、流暢的UI 介面,從而開發出具有視覺吸引力的應用程式。目前,QML 已經和C++ 並列Qt的首選程式語言,Qt6.0支援QtQuick 2.15。
  QML是透過QtQML引擎在程式執行時期解析並執行的。Qt6.0更高性能的編譯器通道表示使用QML 撰寫的程式啟動時及執行時期速度更快、效率更高。
  • QtQuick 3D開發基礎
  QtQuick 3D 是Qt官方為使用者使用QtQuick 建立3D內容或UI 介面而提供的高級API。在Qt5及早前的Qt版本中,要開發3D功能只能使用基於OpenGL的Qt3D 模組,但Qt3D與QtQuick的結合並不緊密,且其多個版本之間的相容性也不是很好。為克服Qt3D的缺陷,自Qt5.15 開始引入了全新的QtQuick 3D,Qt6又對其進行了完善,提供對現有QtQuick場景圖(Scenegraph)的擴充以及與之配套的繪製器,將其與QtQuick 深度整合,同時支援2D與3D混合顯示的功能。透過實例說明場景、相機、光源等基本概念,並演示多種不同視圖與光源的應用。
  QtQuick 3D開發基礎它極大地增強了Qt在3D圖形影像領域的地位。此外,跨平台是Qt6.0的優勢特性,本書將Qt在Visual Studio、Android、Python及Linux(Ubuntu)等多種主流平台上的設定和開發方法進行了詳盡的介紹。
  • Qt跨平台[包括Visual Studio、Android、Python及Linux(Ubuntu)開發:
  當前Qt語言存在兩大主流的編譯環境:除了Qt原生QtCreator 附帶的MinGW 外,還有Visual Studio 的MSVC,由於微軟.NET 平台的流行及VC++開發人員數量的龐大,使用MSVC 的Qt開發也佔有很大比例。
  Qt也與時俱進,支援Android 平台上的APP 開發。
  現在在資料分析領域最流行的程式語言是Python,它有著強大且可與專業軟體MatLab 媲美的科學計算和視覺化繪圖展現資料的能力。但Python 卻不擅長做介面,而Qt則能很輕鬆地製作出藝術級的圖形化使用者介面。為了能將兩者的優勢相結合,Qt官方推出了Qtfor Python,基於PySide函數庫,封裝了Qt中豐富的GUI 元件,使得Python 開發者可以用QtCreator來開發Python 應用程式,透過QtDesigner 設計器直接拖曳出美觀的UI 介面,這也是未來Qt開發將要著重致力的方向之一。
--
  透過學習本書,結合實例上機練習,嘗試在短時間內有系統性並全面地掌握Qt應用技術。
--
深智數位出版:〈Python桌面開發王者-Qt6全方位實例應用開發〉
本文摘錄自深智數位出版之〈Python桌面開發王者-Qt6全方位實例應用開發〉
為什麼會看到廣告
avatar-img
9會員
25內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
深智數位的沙龍 的其他內容
正所謂「套件」如其名,Pandas 運算套件在資料處理領域的受歡迎程度完全可與善於賣萌的大熊貓相媲美。當然,Pandas 的名稱其實來自經濟學術語—面板資料 (panel data)。 眾所皆知,金融領域存在巨量的資料處理與分析,而Pandas 運算套件就是當時就職於AQR Capi
最近,RIS因其能夠透過智慧地重構無線傳播環境來增強無線網路的容量和覆蓋範圍的潛力而受到極大關注,被認為是6G通訊網路中一項有前途的技術。在此背景下,廣大研究者和企業對RIS進行了大量的研究,包括實現其可重構性的硬體材料、設定的波束成形技術和資源設定技術等。 智慧超表面基本原理 發展歷史和研究現狀
有此一說:身為軟體開發工程師,你可以沒有Facebook,但不能沒有GitHub。如果Git給予軟體開發工程師版本控制的能力,那麼GitHub則帶領你遨遊開源世界的美麗。 全世界最大的原始碼管理平台與開放原始碼社群 檢視公開軟體套件內程式碼,理解邏輯並正確使用 搜尋方便的套件與相關資源加速軟體開發
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
Kubernetes是什麼? 1. Kubernetes是Google嚴格保密十幾年的秘密武器——Borg的一個開放原始碼版本。 2. Kubernetes是一個開放的開發平台。 3. Kubernetes是一個完備的分散式系統支撐平台。
大部分處理影像的神經網路,例如簡單的神經網路、CNN、物件偵測、語義分割、臉部辨識等,都是以像素為輸入特徵,圖神經網路 (GNN) 則是以圖形理論 (Graph Theory) 為基礎,以向量作為輸入,內含節點 (Node) 及邊 (Edge),如下圖,以圖形表達集團交叉持股的關係及持股比例。
正所謂「套件」如其名,Pandas 運算套件在資料處理領域的受歡迎程度完全可與善於賣萌的大熊貓相媲美。當然,Pandas 的名稱其實來自經濟學術語—面板資料 (panel data)。 眾所皆知,金融領域存在巨量的資料處理與分析,而Pandas 運算套件就是當時就職於AQR Capi
最近,RIS因其能夠透過智慧地重構無線傳播環境來增強無線網路的容量和覆蓋範圍的潛力而受到極大關注,被認為是6G通訊網路中一項有前途的技術。在此背景下,廣大研究者和企業對RIS進行了大量的研究,包括實現其可重構性的硬體材料、設定的波束成形技術和資源設定技術等。 智慧超表面基本原理 發展歷史和研究現狀
有此一說:身為軟體開發工程師,你可以沒有Facebook,但不能沒有GitHub。如果Git給予軟體開發工程師版本控制的能力,那麼GitHub則帶領你遨遊開源世界的美麗。 全世界最大的原始碼管理平台與開放原始碼社群 檢視公開軟體套件內程式碼,理解邏輯並正確使用 搜尋方便的套件與相關資源加速軟體開發
  卷積神經網路(Convolutional Neural Networks,CNN),其應用包括影像辨識、自然語言處理(NLP)等領域。若能從其發展至今的脈絡開始了解,必定可以更進一步地理解專案的想法,將該技術掌握得更得心應手。以下就其發展和結構分別詳細說明。 1. LeNet
Kubernetes是什麼? 1. Kubernetes是Google嚴格保密十幾年的秘密武器——Borg的一個開放原始碼版本。 2. Kubernetes是一個開放的開發平台。 3. Kubernetes是一個完備的分散式系統支撐平台。
大部分處理影像的神經網路,例如簡單的神經網路、CNN、物件偵測、語義分割、臉部辨識等,都是以像素為輸入特徵,圖神經網路 (GNN) 則是以圖形理論 (Graph Theory) 為基礎,以向量作為輸入,內含節點 (Node) 及邊 (Edge),如下圖,以圖形表達集團交叉持股的關係及持股比例。
你可能也想看
Google News 追蹤
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
樣板模式的定義極為簡單,卻是大型系統程式、WEB/APP應用框架的設計核心,完美展現設計模式的價值: 簡單、高效、強大。
Thumbnail
身為一個在社會大學打滾了近10年的小小工程師,這些免費軟體資源都幫忙我提升工作的流暢度。 與你分享第一個軟體:Q-Dir。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
程式設計中不可或缺的一部分 介面是使用者與程式互動的媒介,因此介面的設計會影響使用者的體驗和感受。一個清晰明白、易懂的介面,可以讓使用者輕鬆地使用程式,並獲得良好的使用體驗。 需要與程式設計師密切溝通 設計師需要了解程式的功能和需求,並根據使用者的習慣和需求進行設計。設計師和程式設計師之間的溝
Thumbnail
建築3D圖固然能夠取代許多傳統圖說。值得多加利用!
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
樣板模式的定義極為簡單,卻是大型系統程式、WEB/APP應用框架的設計核心,完美展現設計模式的價值: 簡單、高效、強大。
Thumbnail
身為一個在社會大學打滾了近10年的小小工程師,這些免費軟體資源都幫忙我提升工作的流暢度。 與你分享第一個軟體:Q-Dir。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
程式設計中不可或缺的一部分 介面是使用者與程式互動的媒介,因此介面的設計會影響使用者的體驗和感受。一個清晰明白、易懂的介面,可以讓使用者輕鬆地使用程式,並獲得良好的使用體驗。 需要與程式設計師密切溝通 設計師需要了解程式的功能和需求,並根據使用者的習慣和需求進行設計。設計師和程式設計師之間的溝
Thumbnail
建築3D圖固然能夠取代許多傳統圖說。值得多加利用!
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護