GUI(圖形使用者介面),顧名思義就是用圖形的方式,來顯示計算機操作的介面,更加方便且直觀。
一個好看又好用的GUI,可以大大提高大家的開發效率。
今天,我就給大家介紹多個好用的GUI庫,每一個都值得學習。
Java
Swing
Swing 是一個為Java設計的GUI工具包。Swing是JAVA基礎類的一部分。
Swing包括了圖形使用者介面(GUI)器件如:文字框,按鈕,分隔窗格和表。
Swing提供許多比AWT更好的螢幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺執行,這一點不像AWT。它們是JFC的一部分。它們支援可更換的面板和主題(各種作業系統預設的特有主題),然而不是真的使用原生平臺提供的裝置,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺上使用JAVA支援的任意麵板。輕量級元件的缺點則是執行速度較慢,優點就是可以在所有平臺上採用統一的行為。
(目前基本上沒人使用了,淘汰了,如果需要使用 java 開發客戶端程式,可以使用 JavaFx)
這裡推薦一個的使用
Swing
開發的專案:
MooInfo
專案地址:https://github。com/rememberber/MooInfo
非常好看
2。
JavaFx
JavaFX 是一個開源的下一代客戶端應用平臺,適用於基於Java構建的桌面、移動端和嵌入式系統。 它是許多個人和公司的共同努力的成果,目的是為開發豐富的客戶端應用提供一個現代、高效、功能齊全的工具包。
專案文件(官方):https://docs。oracle。com/javase/8/javase-clienttechnologies。htm
專案文件(中文):https://openjfx。cn/
這裡推薦幾款開源的使用
JavaFx
開發的專案:
1。JFoenix
JavaFX Material Design Library(元件庫)
專案地址:https://github。com/sshahine/JFoenix
2。
xJavaFxTool
基於JavaFx搭建的實用小工具集合,方便開發過程中的程式碼編寫與除錯,想學習javaFx的同學可以參考參考。其中包括檔案複製、Cron表示式生成器、編碼轉換、加密解密、Time轉換、路徑轉換、二維碼生成工具、身份證生成器、正則表示式生成工具、網址縮短、跳脫字元、字串轉換、Mq除錯工具、Http除錯工具、json格式化編輯工具、圖示生成工具、Redis連線工具、網頁原始碼下載工具、切換Hosts工具、Ftp伺服器、Cmd除錯工具、Ftp/Ftps/Sftp客戶端除錯工具、Pdf轉換工具、檔案列表生成器、圖片壓縮工具、圖片轉碼工具、Kafka除錯工具、Email群發工具、顏色程式碼轉換工具、簡訊群發工具、指令碼引擎除錯、檔案重新命名、Json轉換、語音轉換、Socket除錯、圖片解析、微信小程式…
專案地址:https://github。com/864381832/xJavaFxTool
Python
PyQt
PyQt 是 Qt 框架的Python語言實現,由Riverbank Computing開發,是最強大的GUI庫之一。PyQt 提供了一個設計良好的視窗控制元件集合,每一個PyQt控制元件都對應一個Qt控制元件,因此PyQt的API介面與Qt的API介面很接近,但PyQt不再使用QMake系統和Q_OBJECT宏。
各種各樣的PyQt測試和例子:https://github。com/PyQt5/PyQt
這裡推薦幾款開源的使用PyQt開發的專案:
FeelUOwn
專案地址:https://github。com/feeluown/FeelUOwn
Xiami For Linux Project
專案地址:https://github。com/harry159821/XiamiForLinuxProject
2。
wxPython
wxPython 是一個跨平臺 GUI 的 Python 庫,可輕鬆建立功能強大穩定的GUI,畢竟是用C++編寫的~ 目前,支援Windows,Mac OS X,macOS 和 Linux。使用wxPython建立的應用程式(GUI)在所有平臺上都具有原生外觀。
文件地址:https://www。wxpython。org/
macOS
windows
Rust
1。
egui
egui是Rust的一個簡單、快速、高度可移植的即時模式GUI庫。egui既可以在本地執行也可以在web網頁中執行
專案地址:https://github。com/emilk/egui
專案文件:https://github。com/Re-Ch-Love/egui-doc-cn/blob/main/README_zh-hans。md
演示地址:https://www。egui。rs/#demo
GO
1。
fyne
Fyne是一個用Go編寫的易於使用的UI工具包和應用程式API。它旨在構建在桌面和移動裝置上使用單個程式碼庫執行的應用程式。
專案地址:https://github。com/gabdube/native-windows-gui
文件地址:https://developer。fyne。io/
C/C++ 相關的 GUI 庫暫時不推薦了,本人也在學習。等過段時間會寫相關教程。