Octave作為一款先進的、開源的科學計算軟件,可開發的應用適用於非常多的場景。在實際應用中,除了有以命令行方式操作的CLI應用外,還有以GUI方式操作的GUI應用。GUI應用擁有圖形用戶界面,可供用戶通過可視化的交互操作控制應用運行,例如在CLI應用中輸入的命令可以在GUI應用中用單擊按鈕的方式代替,因此GUI應用擁有操作方便和界面美觀等優點,所以學會開發GUI應用對於軟件開發者而言有非常重要的意義。
本書基於Octave軟件編寫GUI應用的開發技術,並突出編寫開發的實戰部分,使讀者可以邊學邊練,更輕松地學會Octave GUI應用開發技術。本書適合各層次的讀者,既涉及GUI設計的理念等入門內容,又涉及多種難度的、Octave GUI應用開發的實戰內容,相信讀者在閱讀本書後可以學習、鞏固並提高Octave GUI應用開發技術。
本書共8章,主要內容如下:
第1章講解Octave在GUI應用開發方面的相關內容。
第2章講解GUI的基本設計原理、面向對像設計理念、如何使用面向對像設計的思想設計GUI應用及老式類和新式類的技術要點。本章對於GUI設計具有前導作用,帶領讀者快速領會GUI設計的基本概念和基於Octave的GUI設計的實施方法。
第3章講解通用句柄操作、和句柄組相關的函數及如何判斷繪圖句柄。
第4章講解Octave的圖形對像與句柄的內在聯繫、創建和查詢句柄、圖形對像的概念、圖形對像的默認屬性及如何對默認屬性進行修改。Octave可以通過句柄將代碼對GUI做出的改動傳遞到圖形對像上,進而影響圖形對像在屏幕上呈現的效果等不同行為。在理解可以修改的屬性後,讀者可以靈活地在GUI上設計圖形對像的顯示效果、單擊動作等,以豐富GUI的功能,並改進GUI,使其更加美觀、大氣並符合用戶的操作習慣。
第5章講解不同用途的GUI功能函數,包括用於生成特定功能的GUI窗口的功能函數及GUI應用的運行控制函數。GUI功能函數不限於和使用句柄控制的圖形對像相關的函數,而更貼近於在Octave和操作繫統之間直接進行GUI操作。本章要求讀者對操作繫統有一定程度的理解。
第6章講解5個經典GUI應用的實戰內容,包括計算器、記事本、日歷、PDF閱讀器及天氣預報客戶端,帶領讀者在經典中學習一般難度的GUI的設計與實現方法。這5個應用的實戰內容在設計方法上各具代表性,每個應用需要注意的設計難點各有不同,因此它們沒有嚴格的先後順序,讀者也可以按照自己需要的順序進行閱讀。
第7章講解1個大型GUI應用的實戰內容,在項目中帶領讀者將最終的GUI應用進行分塊開發,理解在開發過程中的抽像概念並落地。
第8章講解1個以多個GUI應用為客戶端的分布式繫統解決方案實戰內容,在項目中帶領讀者學習現代繫統的設計與實現、在多個GUI應用之間協同的數據處理和如何用GUI應用對接服務器端。GUI在現代繫統中有著至關重要的作用,而現代繫統在配合GUI後更可以簡化用戶的操作並改善使用體驗。本章將重點放在繫統的設計與實現上,目的是讓讀者更容易感受到在GUI背後的繫統組件,進而更容易理解GUI操作的實際意義。
本書的實戰內容配有豐富的代碼,並包含幾百個代碼文件,還包含筆者編寫的一部分底層代碼文件。讀者在理解代碼後,掃描下方二維碼可下載這部分代碼文件,並根據需要在日後的Octave GUI應用開發過程中使用這部分代碼文件。
本書源代碼
限於本人的水平和經驗,書中難免存在疏漏之處,懇請專家與讀者批評指正。
於紅博2023年5月於長沙