vocus logo

方格子 vocus

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

更新 發佈閱讀 8 分鐘
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應用技術。

--

vocus|新世代的創作平台


本文摘錄自深智數位出版之〈Python桌面開發王者-Qt6全方位實例應用開發〉

天瓏:https://reurl.cc/d70dmg

博客來:https://reurl.cc/4QRkW2

深智數位:https://deepmind.com.tw

留言
avatar-img
深智數位的沙龍
11會員
25內容數
深智數位的沙龍的其他內容
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
一個互動列應用就像一塊積木,可以方便地與其他互動列應用組合在一起,進而完成高度複雜的工作。這就像只要掌握26個字母,就可以組合出近乎無限的單字。
Thumbnail
一個互動列應用就像一塊積木,可以方便地與其他互動列應用組合在一起,進而完成高度複雜的工作。這就像只要掌握26個字母,就可以組合出近乎無限的單字。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
身為一個在社會大學打滾了近10年的小小工程師,這些免費軟體資源都幫忙我提升工作的流暢度。 與你分享第一個軟體:Q-Dir。
Thumbnail
身為一個在社會大學打滾了近10年的小小工程師,這些免費軟體資源都幫忙我提升工作的流暢度。 與你分享第一個軟體:Q-Dir。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
Qt是軟體開發領域中非常著名的C++視覺化開發平台,能夠為應用程式開發者提供建立專業圖形化使用者介面所需的所有功能。QT有很完整的硬體、作業系統、視窗元件的處理,它是完全物件導向的,很容易擴充,並且可應用於元件程式設計,也是目前流行的Linux 桌面環境KDE 的基礎。
Thumbnail
Qt是軟體開發領域中非常著名的C++視覺化開發平台,能夠為應用程式開發者提供建立專業圖形化使用者介面所需的所有功能。QT有很完整的硬體、作業系統、視窗元件的處理,它是完全物件導向的,很容易擴充,並且可應用於元件程式設計,也是目前流行的Linux 桌面環境KDE 的基礎。
Thumbnail
我們在安裝程式的時候, 通常安裝包都會有進度條的顯示, 雖然那是GUI的部份, 但命令列是否也可以這樣呢? 答案是可以的, 在Python就有這麼一套工具專門在顯示我們程式運行的進度, 只要掌握如何回報進度、更新進度, 接下來渲染與互動的部份就交由tqdm這套件去處理即可。 這會對於我們在掌握
Thumbnail
我們在安裝程式的時候, 通常安裝包都會有進度條的顯示, 雖然那是GUI的部份, 但命令列是否也可以這樣呢? 答案是可以的, 在Python就有這麼一套工具專門在顯示我們程式運行的進度, 只要掌握如何回報進度、更新進度, 接下來渲染與互動的部份就交由tqdm這套件去處理即可。 這會對於我們在掌握
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News