2010-11-04 259 views
6

我正在尋找一個適用於不同信號處理應用程序的輕量級跨平臺GUI庫。 ANSI-C程序必須與其靜態鏈接,並且大小很重要。在iPad,iPhone,Android,Ubuntu,Leopard,Windows等任何平臺上,完成的應用程序必須具有相同的外觀。輕量級跨平臺C GUI(OpenGL)

Qt並不合適,因爲它是C++,太大而且不適用於iOS設備。我傾向於基於OpenGL的GUI庫,因爲每個現代化的目標平臺都支持OpenGL,並且每個設備上的OpenGL應用程序都具有相同的外觀和風格。

優選地,這樣的GUI必須使用聲明性語義來支持形式定義,例如,來自C字符串或來自外部文本文件。

+7

我認爲「在任何平臺上相同的外觀」是不是一個好主意。我認爲這可能是最好有 – pmg 2010-11-04 10:06:28

+0

C和Android的...奇怪的組合「每個平臺的標準看」。那麼你可以使用PDK? – jv42 2010-11-04 14:22:36

+1

Qt Quick的QML *不*工作在iOS上,讓你寫的JavaScript,然後編譯成C. – trusktr 2012-09-23 18:05:43

回答

10

你可以嘗試混亂。它用C語言編寫,支持EGL和GLX。 http://www.clutter-project.org/

+0

+1對於OP的問題來說似乎是一個完美的選擇。 – jv42 2010-11-04 14:22:55

+0

Thx,看起來正是我所需要的! – psihodelia 2010-11-05 08:36:06

+1

它看起來不錯,但LGPL許可證如何在iOS上工作,需要靜態鏈接? – 2012-02-21 17:54:10

1

GTK怎麼樣?它已被移植到linux framebuffer,它存在於Windows中。但我不確定在嵌入式環境中將其移植到幀緩存需要多少努力。

+2

請注意,您沒有獲得真正的幀緩衝區的未植根Android設備上 - 你必須去通過Java或開放GL畫的東西。 – 2010-11-04 23:45:39

+1

GTK痛苦地臃腫。任何基於GObject的東西都可能不成問題。 – weberc2 2015-05-04 21:06:04

1

試試你我實驗室uSwish UI框架的Android。

這是一個在大多數操作系統上運行的跨平臺UI框架。它是C和C++,具有極其快速的軟件和硬件渲染。

www.youilabs.com

2

一個不錯的項目,你都應該知道的是Kivy。它是一種開源的跨平臺編程語言,用於在Linux,Windows,MacOSX,Android和IOS上製作基於OpenGL的應用程序。 http://kivy.org

它配備了自己的窗口小部件工具包,用於創建用戶界面,以便您可以在所有平臺上擁有相同的界面,並支持多點觸控。這比在PhoneGap或Appcelerator中編寫應用程序要好得多(HTML5和JavaScript在性能與原生應用程序一樣好之前還有很長的路要走)。使用Kivy,您可以爲所有平臺創建與原生應用程序一樣出色的應用程序。

3

Haxe語言(http://haxe.org/)可讓您使用一個代碼庫爲許多平臺(Android,iOS,BlackBerry,WindowsPhone HTML5,Linux,Windows 8,Mac OSX等)編寫和編譯基於OpenGL的應用程序。這值得檢查。已經有一些GUI庫(http://haxe.org/doc/libraries/gui),您也可以編寫自己的GUI庫。要製作自己的GUI庫,這是學習如何使用HaxeNME(http://haxenme.org)繪製和製作動畫的問題,它已包含文本字段等基本內容。單選按鈕,複選框等,您必須繪製它們,或根據需要使用/修改現有的GUI庫之一。使用Haxe的好處是您的應用可以在很多平臺上運行。

看看HaxeNME驅動的應用程序展示:http://www.haxenme.org/showcase/

0
  1. libnui是我認爲最好的方法它使用css Philosophy.but它不是積極的貢獻。
  2. kivy是很好的工具,但你必須嵌入python.h與你的應用程序,使您的應用程序的大小(Android 40M默認)
  3. qt是一個很好的實用工具,但其他工具的性能比較慢一點(GPL v3)
  4. Juce是另一種解決方案,但它的gui api並不成熟,我認爲。

我的建議:最好將C++用於WebServer等跨平臺業務模型,並使用平臺特定的gui。 看到這部影片https://www.youtube.com/watch?v=ZcBtF-JWJhM ,並期待在此回購:https://github.com/libmx3/mx3 希望是有道理的你。 :)

0

我會推薦Cocos 2d-x(C++,OpenGL ES 2.0,開源,快速且帶有包含很多類的很棒的GUI庫 - 窗口,按鈕,滾動視圖,列表等) 它的跨平臺C++框架Android,iOS設備的Win32,OSX和Linux (主要用於遊戲,但很適合簡單的用戶界面應用程序) BTW它具有可視化編輯器來配置UI

cocos2d-x.org