-
1 # 小小猿愛嘻嘻
-
2 # 強子57979
為什麼大家動不動就誇平臺呢?我很奇怪?哪有那麼多平臺可誇?做桌面GUi的幾乎都是Windows,哪個公司在Linux下開發桌面程式?題主沒說使用什麼語言,Windows下推薦Delphi,C++Builder,以及宇宙第一IDE—Visual Studio(VB6,VC6都是6.0的,VS08,10,15版比較好)
-
3 # 一個程式設計師的奮鬥史
C/C++
對於那些追求極致開發效率的桌面應用程式,C++絕對是你的首選程式語言。下面對常用的介面庫進行介紹。
1、QT
C++開發介面首選開源庫。跨平臺支援,文件齊全,API設計優雅,它不僅僅是一套介面庫,更封裝了多執行緒、訪問資料庫、影象處理、音訊影片處理、網路通訊、檔案操作等介面。
QT最近在跟車企進行合作,很多監控裝置的圖形化展示,甚至是試驗車內部的液晶儀表盤上都使用QT進行開發的,QT最大的優勢就是跨平臺!高效率!
QT中甚至可以直接使用JavaScript,這對我們的一些混合程式設計場景提供了極大的便利。
QT提供的QSS(Qt Style Sheet,Qt樣式表)可以讓我們像寫Web介面中的CSS那樣開發桌面應用程式,如下圖是使用Qt實現的一套介面換膚效果圖。
2、MFC
微軟提供的一個基礎類庫,全稱Microsoft Foundation Classes,稱得上是上古介面庫了,完成了對Windows底層API的封裝,目前最新版的VS已經預設不整合MFC,需要單獨勾選。
坊間流傳MFC==沒飯吃,雖然2020年都已經快結束了,但是還是有大量的公司在使用MFC這一上古技術來開發介面(電力、軍工等傳統行業居多),當然更多的是在維護的專案,它並沒有滅絕。
初學者的話,建議瞭解其大概思想即可,沒有必要再去深究它。
3、第三方介面庫
比如Duilib、BCG、Skin++等等,這裡不再展開描述,只是簡單的對大名鼎鼎的Duilib進行介紹。
Duilib採用XML來描述介面風格和佈局,將介面和邏輯分離,儘量減少在程式碼中建立UI控制元件。可讓開發人員快速開發出美觀的介面效果圖,是一款開源的directUI介面庫。目前很多的網際網路PC端軟體都是使用Duilib開發而來,比如: 釘釘、PP助手、微信、網易雲信、TeamTalk、盤古越獄工具等。
下圖是網友仿照早期迅雷看看播放器使用Duilib開發的一款應用軟體。
PS:第三方介面庫最大的問題就是缺少一個正統的維護者,一旦出現問題不好排查。
Python沒錯,Python也可以進行桌面軟體程式設計,雖然這並不是它的長項。常見的介面庫有wxPython、PyQT、Tkinter等,限於篇幅,這裡只對最常見的PyQT進行介紹。
PyQT
一個建立GUI應用程式的工具包,它是Python程式語言和Qt庫的成功融合。具體的優點如下:
社群支援較好入門教程較多,新手遇到問題容易找到解決方案Qt API設計科學,值得學習參考穩定,跨平臺效能好唯一需要注意的是商用版需要收費。
下圖是是使用使用QSS和PyQt5完成的介面效果圖。
Electron最後,提下Electron,一個使用 JavaScript, HTML 和 CSS 等 Web 技術建立原生程式的框架,選擇它也是一個很好的選擇(目前市場上最優秀的編輯器VSCode就是使用它開發而成),簡單易上手。
選擇Electron,可以方便的透過Node.JS呼叫系統API、可以使用SQLite做本地字典項的快取處理,可以將複雜的計算邏輯放在客戶端進行,從而減輕伺服器端的壓力等等。
當然,如果你非要說Electtron寫出來的軟體體積大效率低,那麼,我想誰也沒法辯駁。
回覆列表
你說的是桌面GUI程式開發吧,目前來說,用c語言來做桌面GUI程式開發的不多,主要做底層開發,下面我主要介紹一下c++和Python主流的做桌面GUI開發的一些框架和庫,主要如下:
c++開發GUI
1.第一個比較經典的框架了,相信大部分初學c++的GUI開發的人都學過,微軟自己推出
的開發框架,在vc,vs中經常用到,微軟基礎類庫MFC,封裝了底層Windows API,可以明顯降低開發人員的工作量,但是隻能在windows平臺下使用,不具有跨平臺性,而且就目前來說,靈活性不是很高,過程設計的有些繁瑣:
2.Qt,這是一個跨平臺的c++圖形使用者開發框架,易學易用,很快就能上手,相對於MFC來說,學起來能更快一些,比較簡單,自帶的Qt Designer可以更快的設計使用者介面,更靈活,也更方便:
python開發GUI
1.第一個就是python自帶的Tkinter包,基本可以滿足小的GUI程式的開發,但是資料比較少,開發起來也不夠靈活:
2.就是wxPython,這個包的功能相對於Tkinter來說,功能能更強大一些,也能靈活一些,網上的教程和例子也挺多的:
3.最後就是PyQt,這個是Qt提供給python的一個介面包,專門為了python開發GUI程式,功能很強大也很靈活,只要你有一定的Qt基礎,很快就能掌握:
其實python還有許多開發GUI程式的包,像kivy,pygame等,都可以開發GUI程式,我這裡就不贅述了,感興趣的話可以到官網搜搜相關資料和文件,挺多的。
桌面GUI程式開發,其實幾乎每門主流語言都有對應的框架或包直接來用,我這裡就大概介紹了c++和python兩種語言常用的框架和包,像C#,java等,都有對應的包或類直接可以呼叫使用,開發起來GUI程式也很快,我這裡就不詳細介紹了,可以到網上搜搜相關教程和例子,希望以上分享的內容能對你有所幫助吧。