圖形化界面設計軟件簡要介紹

【摘要】:面向使用者的系統工程設計,其目的是要準確、快速地在設計者和使用者之間傳遞信息和實現功能,也是優化產品性能來適應大衆的操做能力,減輕使用者的認知負擔。成功的系統工程設計能使得圖形化界面更科學合理,更好地知足使用者的須要。對於開發者而言須要主要以下幾個方面:1,對系統工程應用須要有準確的定位;2,利用設計開發軟件提升GUI運行速度;3,系統開發時對系統工程的可擴展性和提供文檔幫助。數據庫

1. 前言編程

隨着計算機技術的發展,軟件技術突飛發展。在工程領域,智能化、自動化的的要求也愈來愈高。因此對應由電腦監控的工程也愈來愈多。伴隨着的圖形化界面的軟件也獲得了很大的市場。而在界面軟件開發的軟件中主要有Delphi、MFC、wxWidgets、Java、GTK+、Qt-Creator等,安全

2. Dephli簡介服務器

Delphi概述網絡

Delphi,是Windows平臺下著名的快速應用程序開發。它的前身便是DOS時代盛行一時的「Borland TurBo Pascal」,最先的版本由美國Borland(寶蘭)公司於1995年開發。主創者安德斯.海爾斯伯格。通過數年的發展,此產品轉移至Embarchadero公司旗下。架構

Delphi是一個集成開發環境(IDE),使用的核心是由傳統的Pascal語言發展而來的Object Pascal,以圖形用戶界面爲開發環境。經過IDE、VCL工具於編譯器,配合鏈接數據庫的功能,構成一個面向對象程序設計爲中心的應用程序開發工具。框架

2.1Delphi的優缺點編程語言

    Delphi主要因爲離的太遠了,基本上沒有什麼新人繼續學習這種Pascal語言了。編輯器

3. MFC簡介函數

MFC概述

微軟基礎類庫(Microsoft Foundation Classes,簡稱MFC)是一個微軟公司提供的類庫,以C++的形式封裝了Windows API,而且包含一個應用程序框架。其中包含的類包含了大量Windows句柄封裝和不少Windows的內建控件和組件的封裝類。

3.1. MFC的優勢

MFC的主要優勢是能夠用面向對象的方法調用Windows API,以及應用程序開發快捷。MFC將提供不少應用程序開發中經常使用的功能自動化,並提供了文檔框架視圖結構和活動文檔這樣的便於自定義的應用程序框架。同時,在Visual C++內部也創建了不少MFC的類嚮導,使用類嚮導能夠生成從hello world簡單程序到活動文檔服務器這樣的複雜程序。MFC的消息映射機制也避免了使用性能較低的龐大虛函數表。

MFC的缺點是封裝過程過於複雜,以至於新用戶很難迅速掌握MFC的應用程序框架,以及在調試中定位問題的位置。同時,MFC對象不是線程安全,導致在跨線程訪問MFC對象時須要編寫額外的代碼。另外,MFC的不少類依賴於應用程序嚮導生成的代碼,使得使用Visual C++其它類型的應用程序嚮導生成的工程中添加MFC支持的難度大大增長。

4. wxWidgets簡介

wxWidgets概述

wxWidgets是一個開源的跨平臺的C++構架庫,它能夠體統GUI(圖形用戶界面)和其它工具。

wxWidgets的主體是由C++構建的,但你並非必需經過C++才能使用wxWidgets。wxWidgets擁有許多其它語言的綁定,使你在用其它語言編寫程序得時候也可使用wxWidgets.wxWidgets是一個C++編寫的用來提供Gui開發框架,它包含了支持現今全部的操做系統的GUI庫和其它一些有用的工具。

4.1 wxWidgets的優勢

wxWidgets的優勢:1,不管對於我的仍是商業應用都是免費的。2,它是跨平臺的GUI庫,支持的操做系統很全面,(甚至能夠應用在PDA)3,wxWidgets提供GUI是大量使用宏,這就不意味着它是儘量的使用目標系統的native的gui樣式。4,它支持的編譯器不少。

4.1 wxWidgets的缺點

wxWidgets的缺點:官方文檔不全,沒有源代碼的開發速度快,沒有強大全面的rad工具,沒有造成濃厚的產業氣候。

5. Java簡介

Java概述

Java是一種電腦編程語言,擁有跨平臺、面向對象、泛型編程的特性。任職於太陽微系統的詹姆斯.高斯林等人於1990年代開發Java語言的鄒型,最初被命名Oak。隨着1990年代互聯網的發展,太陽公司看見Oak在互聯網上的應用前景,因而改造Oak並與1995年5月以Java的名稱正是發佈。Java伴隨着互聯網的迅猛發展而發展。逐漸成爲重要的網絡編程語言。

Java的缺點:因爲Java編譯器和虛擬機的不一樣對Java的性能影響比語言自己的影響大得多。

6. GTK+簡介

GTK+概述

GTK+最初是GIMP的專用開發庫,後來發展爲Unix-like系統下開發圖形界面的應用程序主流開發工具之一。GTK+是自由軟件,而且是GNU的一部分。GTK+的許可協議時LPGL。

GTK+使用的C語言開發,可是其設計者使用面向對象技術。也提供了C++(gtkmm),Perl、Ruby、Java和Python(PyGTK)綁定,其它綁定有Ada、D、Haskell、PHP和全部.NET編程語言。與其它不少部件工具箱不一樣,GTK+並不基於Xt。優勢是GTK+能夠應用於其餘系統,其靈活性也很強;而缺點就是它沒法利用傳統方法爲X11定製的X資源數據庫。

7. C#簡介

C#概述

C#是微軟推出的一種基於.NET框架的、面向對象的高級編程語言。C#由C語言和C++語言派生而來,繼承了其強大的性能,同時又以.NET框架類庫做爲基礎,擁有相似Visual Basic的快速開發能力。C#由安德斯.海爾斯伯格支持開發,微軟在2000年發佈了這種語言。C#已經成爲Ecma國際和國際標準組織的標準規範。

C#並不被編譯成爲可以直接在計算機上執行的二進制本地代碼。與Java相似,它編譯成中間代碼(Microsoft Intermediate Language),而後經過.NET Framework的虛擬機---被稱之爲通用語言運行庫執行。

因爲與Java類似,因此在性能上耗費比較大。

8. Qt簡介

Qt概述

Qt工具包是一個 C++ 類庫,是一個跨平臺的構建圖形用戶界應用程序的一套工具。基於Qt平臺開發的源程序,能夠不經修改地在Windows及LINUX、Mac OS X和其餘不少使用X11的UNIX 版本上編譯運行,Qt具備直觀和強大的應用程序編程接口,不只支持代碼支持編程,也能夠結合GUI界面並行開發。Qt除了擁有極好的可移植性和跨平臺性,還有擁有很是豐富的API類庫,不只有GUI庫,還有數據庫編程、網絡編程接口等等。普通的應用不須要第三方庫,Qt自己就能夠完成。選擇Qt做爲軟件開發平臺,不只能夠縮短開發週期提升效率,開源免費的Qt平臺更是能夠節約開發成本。

8.1 Qt優勢

相比Visual Studio,Qt不只可以支持多PC機種操做系統平臺,還支持多種嵌入式操做系統,應用範圍很廣,針對多種平臺開發程序,只須要編輯一次代碼便可,開發效率極高;其次,Qt簡化了內存的回收機制;第三,信號與槽機制至關靈活,不只窗體支持信號與槽機制,非窗體也可使用信號與槽機制;第四,擁有很是豐富的API庫和很炫的GUI界面;第五,Qt擁有廣大的用戶和很是完善的開發文檔。

8.2 Qt缺點

雖然Qt有很是多的有點,可是仍是有一些不足。Qt的編譯相對較慢,運行的效率比MFC效果差不少,尤爲在嵌入式操做系統,運行的效率成爲Qt的一個弱點,進程之間通訊則成爲Qt發展的一個瓶頸,Qt開發的程序與非Qt開發的程序之間的通訊相對較差。

9.界面開發軟件的比較

下表爲幾種界面開發工具的介紹。

 

界面庫名稱

Qt SDK

MFC

wxWidgets

GTK+

使用宏和自定義的RTTI。

使用信號與槽機制實現用戶代碼交互。

能夠繼承實現擴展

基於宏和虛函數,使用特殊格式註釋,使用自定義的RTTI系統。

類接口設計優良。

經過回調函數和虛繼承重載調用客戶代碼。

宏,自定義RTTI。

使用回調函數與用戶代碼交互

使用信號和槽機制完成用戶代碼交互

Qt Designer具有完整所見即所得編輯功能。

界面可預覽

基於資源編輯器,僅能對空間基本佈局和少許屬性進行調整。

不可預覽。

無官方界面編輯器。

可以使用第三方界面編輯器。

部分編輯器具備完整的所見即所得功能,且具備預覽能力。

GLADE,具有所見即所得的界面編輯功能

具有完整的佈局功能。多分辨率/多平臺下表現良好

缺少高級佈局功能,多分辨率須要手動或程序中調整。

使用Sizer實現多分辨率的佈局。功能偏弱。

Layout Containers,具有較完整的佈局能力

QCanvas等

GD及GDI封裝,了選GDI+

wxDC等

GTK Graphics Context

Windows,Linux,Unix,MacOS等

Windows,WindowsCE

Windows,Linux,Unix,

MacOS等

Windows,

Linux,

Unix,MacOS等

C++,Python等

C++ Only,

支持COM時能夠實現Binary級別複用

C++,.NET,Phython,Lua,

Ruby等

C++,C,Python,.NET等

IDE

能夠集成到Eclipse和VS

僅Visual Studio

良好的編譯器兼容性,缺少IDE繼承

暫時未知

-

使資源文件保存界面信息。部分組件具有Model-View-Delegate構架

使用資源保存控件的基本控件佈局,提供Doc-View機制和控件數據交換支持視圖分離

能夠將界面屬性生成代碼中,也可使用XML格式保存。

使用代碼完成界面設置。部分組件具有Model-View架構。

Qt庫

須要運行MFC運行時連接庫

 

 

 

10 總結

GTK+主要用在X Window上,整個設計的構架和許多概念和MFC以及通常的Windows上的程式開發大異其趣,入門門檻比較高,並且主要特點是,他用不具備物件功能的純「C」語言,模擬物件導向。因此寫起來比較複雜艱澀。優勢則是能夠用C,不須要C++,若是和win32 SDK比較,不會難學多少,缺點是不易上手使用,並且文件比較缺,架構又很是複雜,且提供的東西比起其它無所不包的library,是簡陋一點。

wxWidgets和MFC最接近,命令習慣和構架都高度類似,會MFC幾乎不用從新學習。此外,它物件封裝比MFC要好,提供的功能也多上太多,又跨平臺通常知名的MFC程式都會選擇用wxWidgets改寫,來快速一直原程式到其它平臺。

Qt的功能,應該是以上開發軟件最強大的,文件也很完整,又有RAD工具,能夠輔助開發,而且有商業公司作強力後盾。不但有Windows/X Window/Mac版本,甚至還有嵌入式可用版本,穩定性還不錯,物件封裝良好,資源比GTK+或wxWidgets多得很是多,並且發行公司提供至關多範例,算是一家開放原始碼成功盈利的模範公司。知名的KDE整個是用他開發,證實了它的穩定性和強大功能。

綜上所述,在本環境監控工程的開發中,利用了功能強大,且具備很好的平臺移植性的Qt—SDK集成開發軟件。

相關文章
相關標籤/搜索