2012-04-02 75 views
2

可能重複:
looking for free c++ cross platform GUI framework
Tiny C++ cross-platform GUI toolkit簡約跨平臺GUI庫對於C++

我找的,我可以用它來提供最小的跨平臺庫簡單的自定義GUI功能,我正在開發的腳本語言(解釋器是用C++編寫的)。我只需要一些基本的小部件,如窗口,按鈕和編輯boxen;沒有什麼特別的,它應該很容易學習(除了Borland/Embarcadero VCL之外,我沒有太多的GUI庫經驗)。

我不想去像Gtk或WxWidgets這樣的大型圖書館,因爲我發現他們的學習曲線有點太慢了。

它應該在Windows和Linux(最好是Free/OpenBSD)上工作。

我認爲C++/Tk是一個可行的選擇,但語法非常荒謬,而不是非常C++。

+0

我知道,我一直在那裏看。但是他們大多數都會推薦一個全功能的庫作爲答案,我不想使用它,正如我解釋的那樣。 – Tibor 2012-04-02 18:42:25

+1

http://stackoverflow.com/questions/1086179/tiny-c-cross-platform-gui-toolkit? (第7個鏈接) – Mat 2012-04-02 18:43:29

+0

我不知道C++/Tk。看起來非常有趣的C++ GUI。去吧!就個人而言,我已經足夠的MFC,.NET,Qt,現在我正在切換3D ... – CapelliC 2012-04-02 19:43:38

回答

3

上週我剛剛有這個問題,我最終做的是創建一個HTML UI。

有一個非常漂亮,簡潔且易於使用的庫,名爲mongoose,它將爲您的代碼添加HTTP偵聽器。它將監聽本地IP和端口,併爲請求的URL激活回調。您可以在網頁瀏覽器或獨立Web瀏覽器中瀏覽您的應用程序。

我們的確有相同的要求(儘可能小和最小),這是一個完美的解決方案。這很容易適應,你可以創建所有你正在談論的UI元素(表單,按鈕,編輯框),POST數據從HTML到你的後端用JS(JQuery比較容易,而且它相對於窗口庫替代),並且來回傳遞數據。

+0

好主意!然而,腳本語言已經包含了套接字的Boost Asio功能的很大一部分,因此添加額外的HTTP將會複製其中的一部分。另外,我正在尋找更多的「你自己的窗口」解決方案。 – Tibor 2012-04-02 20:33:47

+0

其實,我不相信Asio包含任何HTTP代碼,所以確實沒有任何重複。這個圖書館是光禿禿的。一個「你自己的窗口」解決方案很容易使用你選擇的任何預先安裝的瀏覽器進行腳本編寫(只需一個shell命令來啓動一個瀏覽器,其中* all *工具欄隱藏到你的URL中,這就是我們正在使用的)。這裏有一個截圖(沒有造型或佈局工作):http://i.imgur.com/fJK0X.png – 2012-04-02 21:08:31

0

我建議你使用Qt,因爲它非常容易使用Qt Creator開發GUI應用程序,它的免費並且在許多應用程序中也使用它。

+1

如果GTK和wxWidgets不可接受Qt當然不是。它超大。 – spencercw 2012-04-02 19:27:03

+0

+1:Qt有效*得到了QtCreator的支持! – CapelliC 2012-04-02 19:45:24

+0

我需要連接GUI庫,併爲我自己的腳本語言(這需要儘可能簡單)進行包裝調用,所以QtCreator並沒有真正幫助我。不過,如果我爲應用程序本身開發了一個GUI,那將是最有用的。 – Tibor 2012-04-02 20:27:13