簡體   English   中英

適用於C ++的小型本機跨平台GUI框架

[英]Small native cross-platform GUI framework for C++

我用C ++中的Boost寫了一個小程序。 它工作正常,所以我想給它一個圖形界面,以便於使用。
為了做到這一點,我正在尋找可以提供本機外觀的小型跨平台框架。 Windows和Linux支持就足夠了,目前我不需要os x ...

我在其他項目中使用了wxWidgets,但要進行所有設置並隨軟件一起交付這個大庫是一件很痛苦的事情。
但是我對使用真正的本機控件感到非常驚訝。 為了保持程序的小巧,我也嘗試了fltk,但是它的外觀糟透了。

我只需要一個沒有網絡支持或其他頭的簡單框架。

所以我的問題是:是否有適合所有需求的框架? 否則,哪種框架至少滿足其中一些需求?

提前致謝!

當其名稱中帶有“框架”一詞時,它幾乎不會很小。

無論如何,圖形框架/庫往往很大,因為它們需要處理很多東西。

Qt可能是跨平台GUI最好的直接庫,但它絕對不能構成“小型框架”。 另一方面,在Linux系統上,很可能已經安裝了Qt。 加上它絕對是它的大小。

就gui工具包而言,wxwidgets相當小。

它是跨平台的

http://www.wxwidgets.org/

您已經提到了它,但是就跨平台工具包而言,它是我所見過的最小的工具包之一。

我唯一的建議是,您可以將代碼包裝到C庫中,然后將其鏈接到另一種語言中。 例如,在Windows上使用.NET,對於Linux甚至是基於Java的應用程序,請使用mono。(盡管它們看起來並不總是平台特有的)。 然后從那里使用您的圖書館。

Ultimate ++可能包含您需要的內容。 (盡管他們在FAQ中聽起來像他們的圖書館真的很大,但對我來說似乎並不那么糟糕。)

別忘了檢查一下果汁

Qt的工作原理驚人,但不是很小。 我發現確實缺少“小型”跨平台GUI。 您可以嘗試在各處使用#ifdefs抽象您的GUI,或者使用Qt / wx。

如果您希望它很小,則只需編寫兩次GUI,一次在MFC中,然后在X中。您的GUI聽起來很簡單。 建立您自己所需的小型抽象。

像其他提到的一樣,您不能在同一句子中混合使用“跨平台”和小字體。

更多工作,更小尺寸:我可以建議的一種解決方案是對UI部分使用本機python綁定。 由於您已經在使用boost,因此讓Boost.Python在C ++空間和python空間之間通信應該是微不足道的。 您已經在Linux上安裝了python,在Windows上安裝了20-40MB的軟件包(不記得最新版本的大小)。 但是在這里,您將必須在Windows上使用win32綁定,在Linux上使用gtk / qt綁定,因此需要做更多的工作。 不,要維護的工作太多了,請抓緊時間。

中等工作量,體積較小,但具有非本地控件:您可以嘗試使混亂或freeglut來完成UI工作,但我個人沒有使用過它們,因此我不知道它們是否為您的應用程序提供完整的本機外觀。 但是與wx或qt相比,它們的尺寸較小。

更少的工作,更大的尺寸:如果已經習慣使用WxWidgets,否則建議使用Qt。

您還可以查看其他一些產品: http : //en.wikipedia.org/wiki/List_of_widget_toolkits

雜波: http: //www.clutter-project.org/關於FreeGLUT: http ://freeglut.sourceforge.net

這里有大量的活躍和不活躍的跨平台C ++ UI庫: https : //philippegroarke.com/posts/2018/c++_ui_solutions/其中一些很小,看起來很自然。

聽說過QT嗎???

http://qt.nokia.com/products/

我認為它應該適合您的所有需求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM