C++開源介面庫
剛開始用C++做介面的時候,根本不知道怎麼用簡陋的MFC控制元件做出比較美觀的介面,後來就開始逐漸接觸到BCG Xtreme ToolkitPro v15.0.1,Skin++,等介面庫,以及一些網友自己寫的介面庫,開始對於C++軟體介面美化有了一點點的心得。不敢藏私,希望和一些新手朋友們分享交流。
一. 開源C++介面庫
1.RingSdk
Ringsdk是CSDN上一個前輩自己寫的介面庫,這個介面庫很輕而易舉實現QQ2009的介面效果。連結見
2.redui的官方網站http://www.redui.org 已經打不開了。官方QQ群是 40729296
這是官方的說明
REDUI,又名REDirectUI,全稱是Rendering Engine for DirectUI,是一款基於XML描述的 DirectUI 渲染引擎,能將“控制元件”的互動和渲染過程分解成多種獨立的要素,包括佈局、視覺效果、樣式、UI自動化、濾鏡、指令碼、事件、3D場景、3D模型、通用動畫等。通過這些要素的排列組合,可以呈現出各種不同效果的控制元件,甚至能在XML中直接自定義控制元件型別。支援2D/3D無縫融合。
· REDUI支援GDI/GDI+/DirectDraw/D3D等渲染方式,並有支援OPENGL/ES的願望
3.Duilib 這個就比較大名鼎鼎了,不用多說了吧。包括華為網盤在內的很多業內企業都在用這個介面庫。我用Duilib做了一個小型的介面。貼出來獻醜一個。
4.WGI-1.0.7-Demo-Project-for-windows 。。額。。時間太長,忘記了這個程式碼是什麼,姑且先忽略它。
5.cj60lib 這個玩過Gh0st3.6木馬的人都熟悉,是一款對MFC進行拓展的介面庫
6.金山介面庫 這個就不贅述了,可以直接上金山的論壇找原始碼和資料
7.skinTK_V0.20 一款類似於Skin++的開源介面庫
8.FreeCL_Skin2.3 一款不錯的控制元件庫 擴充套件了常用的MFC控制元件 。 這個是FreeCL_Skin提供的一個效果例項。
9.GuiLib1.5 一個老外寫的介面庫 沒有用過,沒有調查,就沒有發言權。大家自行百度。
10.基於3D的介面庫 MangoGUI_V0.1.5
MangoGUI是貓仔在DXUT基礎上修改得來的一個開源GUI系統。
目前來說基本上繼承了DXUT裡面絕大多數的功能和改進了使用方式,讓DX學習愛好者更容易去使用GUI系統。
如果你也是一位對GUI有興趣的同學,非常歡迎你一同來參與到MangoGUI的設計當中來!
作者部落格11.基於Skia的directui庫metalbone
程式碼託管地址
官方說明
MetalBone是一個C++ DirectUI庫。介面、命名等借鑑Qt,而並非使用Windows風格。
MetalBone的特點是,使用CSS來定製樣式(如果沒有CSS的話,則什麼也不顯示,lol)。目前可以使用Direct2D或Google Skia來繪製介面。MetalBone使用的是 WWM協議(基於LGPL)
12.SonicUI2011
效果比較不錯的一款面板庫
作者CSDN地址是
13 基於OpenGl的介面庫 beGUI-0.1.3-src
程式碼託管地址
二 未開源或商業介面庫
1.Flash4UI
看命名就知道是將Flash嵌入到UI中。
效果圖片
2.bolt 迅雷7介面引擎
迅雷介面引擎,這個用過迅雷下載和迅雷看看的就有體會了,介面的確是做的非常的贊。而且流暢,CPU佔用和記憶體各種都很棒。採用了指令碼互動的方式,指令碼語言採用了Lua.可惜的是迅雷只開放了介面SDK給個人使用。
3.clayui
百度百科說明 clayui是一個採用純C++編寫的介面框架,可以很方便的移植到各種系統上。現在支援的系統包括android,windows,wince,linux。clayui的特點是能實現各種2D,3D動畫,一些WPF,FLEX才能實現的介面效果,通過clayui可以很方便的實現。 clayui的底層渲染支援純軟體渲染,d3d,opengl es硬體加速渲染,您可以根據自身的需求選擇合適的渲染方式,使您介面的使用者體驗達到最佳效果
效果
4.DSkinLite
官方Demo
5.libuiDK
官方說明:LibUIDK是國際上頂尖的專業開發Windows平臺下圖形使用者介面的開發包,也是國內第一款商業的高階介面開發工具。該開發包基於Microsoft的MFC庫。使用此開發工具包可輕易把美工製作的精美介面用Visual C++實現,由於LibUIDK採用所見即所得的方式建立產品介面,所以極大的提高了產品的開發速度,並大大增強圖形使用者介面(GUI)的親和力。LibUIDK還可以使您的軟體輕鬆具有當今流行的換膚功能,以提高產品的競爭力。
官方網站
例項
6. SiteUi SkinSE 都有官方網站。就不繼續搬磚的工作了。
7.(未開源)上海勇進UIPower
這個比較牛逼。一款介面庫就是大幾百萬的。老總闕海忠還親自錄了20集的介面庫相關的視訊
官方網站 http://www.uipower.com/
8.炫彩介面庫
炫彩介面庫貌似是私人開發的一個介面庫,可以用C++.c#易語言等來開發。炫彩庫的作者貌似是湖北襄陽人喲。
9.魔方介面庫
MuiLib(Magic UI Library)Windows高階介面開發庫是在國內首家免費開源的DuiLib介面開發庫基礎上經過針對性的擴充套件而發展起來的,他繼承了DuiLib高度自由靈活的特點,並吸收了其他介面庫的一些優點,針對Windows層視窗按畫素透明技術而重點優化後形成的一個優秀介面開發庫,是一個使用純C++呼叫Windows API的開發庫,無任何其他第三方依賴框架,您可以使用其提供的各種高階控制元件來建立更加炫酷的使用者介面
10 XtremeToolkit
由Codejock 公司出品的一款介面庫。應用也是比較廣泛的。在2013版的大灰狼遠端操控中就採用了這款介面庫。
11.Sharpui
Sharpui是居於現在流行的DUI思想的一套介面庫,可以方便實現半透明和各種介面效果,採用純c++實現,分為引擎和控制元件兩個部分,這兩個部分採用動態庫的形式提供,引擎部分處理了事件、資源、渲染、控制邏輯,同時提供了各種應用層面控制元件的實現基類,包括:Visual、Element、FrameworkElement、Control、ContentControl、Window、Panel、Popup,這些類封裝了基礎控制元件的實現細則,所有使用者實現的控制元件都必須繼承自這些類,對於需要呈現的控制元件必須繼承至FrameworkElement。
控制元件部分提供的所有控制元件均採用DUI方式實現、分層繪製,實現各種常用的佈局控制元件,可靈活實現介面的自動佈局;Sharpui本身所有資料結構採用原生實現,記憶體自動管理,不依賴於std的任何容器,使得庫的使用更加獨立、編譯更加簡單,使用VS任意一個版本編譯都可以用在其它版本里,不需要擔心由於std版本原因而產生編譯問題。
以上都是我在工作和個人業餘時間收集積累的開源或商業介面庫,這些介面庫各有各的特色和側重點,也有不同的換膚思想,如果要用在專案中還是要進行適當的增刪整改。
由於個人能力水平見識有限,也有些大神的作品沒有被收錄其中。表示遺憾。
相關推薦
C++開源介面庫
剛開始用C++做介面的時候,根本不知道怎麼用簡陋的MFC控制元件做出比較美觀的介面,後來就開始逐漸接觸到BCG Xtreme ToolkitPro v15.0.1,Skin++,等介面庫,以及一些網友自己寫的介面庫,開始對於C++軟體介面美化有了一點點的心得
全開源C++ DirectUI 介面庫SOUI 3.0更新
從2019.5.22開始,SOUI版本號更新到2.9.0.2,後面開始準備3.0的開發,歷時近3個月,現在3.0的主要工作基本完成。 為了便於大家區別2.x,3.0啟用了新的程式碼倉庫:https://github.com/soui3/soui 3.0相比2.x有以下程式碼的更新: 1、規範程式碼中使用
Linux下經常使用的C/C++開源Socket庫
bsd 面向對象 sql數據庫 高速 com telnet ade ftp 版本 1. Linux Socket Programming In C++ : http://tldp.org/LDP/LG/issue74/tougher.html2. A
[置頂] C++開源日誌庫--Glog的使用
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C++開源日誌庫選擇
每個系統都需要日誌記錄,通過日誌方便排錯除錯,管理執行時的異常。 而C++開源的日誌庫,待選的有 glog、log4cplus、log4cpp、log4cxx 目前準備使用glog,使用方便,效能也不錯,待進一步試驗,如果有不能滿足的功能就轉用 log4cplus,功能很
c# 開源介面框架
炫彩介面庫不僅是介面庫,它是軟體介面開發框架,讓使用者開發桌面軟體變的簡單高效,它功能豐富, 小巧,安全(所有介面元素無控制代碼),Unicode字元編碼,完善的幫助文件; 並且提供了UI設計器,支援XML佈局,CSS樣式表,XML資源;該庫採用C語言開發,速度更快,
C++開源日誌庫Glog的使用(VS2010)
如需轉載請標明出處:http://blog.csdn.net/itas109 QQ技術交流群:129518033 平臺:windows 開發工具:VS2010 1、下載Glog 下載完成之後,用VS2010進行編譯,預設是vs2008讓其自動轉換,如圖所示。 編譯
Linux下常用的C/C++開源Socket庫
poll blank 瀏覽器 AMM app tcp、udp io事件 輕量級 sock 1. Linux Socket Programming In C++ : http://tldp.org/LDP/LG/issue74/tougher.html 2.
站在巨人的肩膀上,C++開源庫大全
windows應用 pcr ram perl t對象 rest 容器 企業應用 聲音 程序員要站在巨人的肩膀上,C++擁有豐富的開源庫,這裏包括:標準庫、Web應用框架、人工智能、數據庫、圖片處理、機器學習、日誌、代碼分析等。 標準庫 C++ Standard
值得推薦的C/C++開源框架和庫
跨語言 return .net npr 粘貼 python3.x xcod nasm pop 值得推薦的C/C++開源框架和庫 轉自:http://www.cnblogs.com/lidabo/p/5514155.html - 1. Webbench Webb
FastSocket(C/C++)、FastSocket.NET(C#)與SuperSocket(純C#) 開源庫的區別、介紹、使用方法
一、FastSocket與SuperSocket 區別 裡面包含了視訊教程。 我們到底選擇哪一款開源的Socket框架?https://blog.csdn.net/abennet/article/details/79399713 二、新浪的FastSocket介紹
C++開源庫大全
C++擁有豐富的開源庫,這裡包括:標準庫、Web應用框架、人工智慧、資料庫、圖片處理、機器學習、日誌、程式碼分析等。 標準庫 C++ Standard Library:是一系列類和函式的集合,使用核心語言編寫,也是C++ISO自身標準的一部分。 Standard
C#開源網路通訊庫PESocket的使用
PESocket PESocket開源專案GitHub地址:點選跳轉 基於C#語言實現的高效便捷網路庫。支援整合到Unity當中使用。 不用過多瞭解網路通訊內部原理,只需幾行簡單的程式碼,便能簡捷快速開發基於C#語言的伺服器和客戶端,實現網路通訊。 使用示意: 1.建立Socket伺服器 PESo
開源C++版本CGI庫CGICC入門
原發布在ChinaUnix,但未被自動搬遷過來:http://blog.chinaunix.net/uid-20682147-id-4895772.html PDF版本:https://download.csdn.net/download/aquester/10827278
c/c++開源庫推薦清單
關於 C++ 框架、庫和資源的一些彙總列表,由 fffaraz 發起和維護。 內容包括:標準庫、Web應用框架、人工智慧、資料庫、圖片處理、機器學習、日誌、程式碼分析等。 標準庫 C++標準庫,包括了STL容器,演算法和函式等。 框架 C++通用框架和庫
自己開發簡單web伺服器一(C++開源庫websocketpp實現)
簡要 Web伺服器主要處理的是HTTP請求(這裡忽略HTTPS),HTTP協議建立在TCP上。如果自己實現,無非就是網路程式設計(socket接受、傳送),資料解析(HTTP欄位解析),返回HTTP協議字串給客戶端等。說起來簡單,要做到跨平臺和高效,不得不介紹幾個有名的開源
C++介面庫的抉擇
C++的介面庫經過幾天來的搜尋,總結了下面幾種的優缺點 1. MFC 優點:VS2008以及VS2010的擴充套件確實很強大,特別是原生的視窗執行時停靠以及PropertyGrid確實很強大 缺點:預設字型很模糊,無論你對MFC多瞭解,C++多熟悉,每次寫程式碼時依然要重新熟悉程式碼,更不
C++介面庫:為Graphic Element Template做了一個XML Schema
我們知道製作控制元件的時候,其實最困難的不是定出那個支撐整個系統的架構,而是為各種空間寫繪製的程式碼(囧)。為了解決這個問題,我在這套渲染庫上設計了一種XML寫成的模板,然後在模板內部提供一個簡單的語言來進行簡單但是強大的運算。這樣的話,不僅可以省略很多程式碼,還為控制元件的換膚提供了強有
C++介面庫:Graphic Element Template實現
這篇文章描述的一個圖形元素模板終於通過了冒煙測試。下面將展示模板的XML程式碼、呼叫模板的程式碼以及截圖。 下面的XML描述了一個黑變藍底的長方形裡面居中一個文字。 1 <?xml version="1.0" encoding="utf-8" ?> 2 <irc
C++介面庫:在GDI上新增完全的alpha混合支援
做完了小型WCF之後,就是小型的WPF了。之前那個完全避免使用者大部分的錯誤使用導致的死鎖的方案還有一點點的問題,所以先休息一下,做做別的。為了在C++上重現一套類似WPF的工具,首先要解決繪圖部分。 繪圖的裝置當然是需要可切換的,於是用bridge模式定義了大量的介面,這些介面用來