2009-02-14 98 views
2

好的,這是一個有趣的問題,因爲每個人都有發言權。喜歡的圖形子系統編程

什麼是您最喜歡的圖書館編程圖形用戶界面和您編程的語言。給出一個簡短的原因爲什麼。 (例如Gtk,Qt,Windows等)。只是一個參考,這包括任何腳本語言,你在Python,Perl等編程GUI ...

坦率地說,我一直在C做Gtk,但我開始用新的KDE在C++中預熱Qt。我從來沒有成爲Windows編程的忠實粉絲。

ChrisW。說我沒有給出Gtk/Qt的理由,所以在這裏。我從Gtk開始,因爲當我開始編寫GUI時,我在Linux上工作,並且有更多的Gtk信息可用。當我開始在KDE上工作時,開始使用Qt,但真正轉向Qt的基礎是嘗試轉向C++並學習更多語言。我從來沒有基本的Windows編程的粉絲,但我現在要做的,然後享受一點點的DirectX:P

+0

你說「給出一個簡短的理由」,但你沒有給出*你的*偏好的任何理由。 – ChrisW 2009-02-14 18:25:55

+0

@克里斯,哎喲......好動。編輯即將到來。 – Suroot 2009-02-14 18:28:08

回答

2

我明白了你專注於應用程序的GUI,但如果你想快速,強大的和有趣的方式來可視化在您的計算機上的任何東西,你不能走過去Processing

從網站:

處理是一個開源的 編程語言和環境 誰想要節目圖像,動畫 和交互人。它是 學生,藝術家,設計師, 研究人員和業餘愛好者 學習,原型和生產。 它被創建來教導 計算機編程的基本原理在視覺 的背景下,並作爲軟件 素描本和專業製作 工具。處理是 域中專有軟件工具的替代方案。

0

,喜歡在那裏DOS下寫顯存:對動畫遊戲(即小行星克隆),這是快(高性能),因爲我知道如何使用BIOS API來做到這一點(當然速度越快)。

0

這實在是一個有點主觀的問題,所以沒有最好的或正確的答案。基於我的(有限的)遇到以下情況:

我個人很喜歡wxWidgetsPLT Scheme編寫簡單而靈活的圖形用戶界面。還有更高級的工具包,但我通常不需要它們的功能。 wxWidgets靈活,Scheme界面遵循Scheme的傳統,功能強大,結構相對簡單。我喜歡這個事實,即wxWidgets是可移植的,但仍然試圖不實際繪製自己的小部件,但可以使用它所使用環境的本地或通用工具包。它是用C++編寫的,但我從未使用過它的C++接口。

這並不是說,在我看來,計劃一般會寫在你的應用的最佳語言。其實有很多種,我不會在計劃編寫應用程序,即使我喜歡的語言。但是關於GUI編程部分,這是我最喜歡的,因爲它的直觀性,以及像Scheme這樣的函數式語言在聲明式GUI編程中的運用方式。

當然,當使用這個控制時,當你的程序涉及窗口構造和輸入反應的每個階段時,通過使用事件循環(例如Win32API或Xt/Intrinsics) 。但是這並不總是方便且通常是不必要的,並且似乎變得越來越不常見。


注:的wxWindows工具更名爲wxWidgets的,但我的,而最新版本的PLT格式的安裝仍然帶有舊的wxWindows。我不確定是否有更新的wxWidgets軟件包可用,或者是否將包含在未來版本的PLT計劃中。

2

最近我有機會使用wxWindows和QT,而前段時間我用FLTK和Gtk編寫了一些小程序。我的結論是,小部件庫往往非常相似;每個人都有自己的優勢和怪癖。我不想提倡特定的圖書館,於是我想在GUI編程中提倡使用高級語言:開發週期快得多,GUI程序很少受CPU限制,所以性能問題很少成爲問題。

如果一個GUI程序必須執行一些強烈的計算,那麼只需在C或C++中開發一個核心庫,但將接口保留在Python或任何其他解釋型語言中。

2

人們喜歡搖擺搖擺變老,緩慢和醜陋,但事實並非如此。 Swing是成熟的,在Java SE 6/10上比以往更快,看起來不錯,並且可以容忍程序。最重要的是,我發現Java + Swing是最無故障的跨平臺組合。它也與Jython(JVM上的Python)非常無縫地工作。

SWT也可以是一個選項,但到目前爲止,我一直對Swing感到滿意。

0

Qt4對我毫無疑問。現在它擁有LGPL許可證,對於以前不可能的各種應用程序都是有意義的。另外,它改變了C++的方式,大大提高了使用該語言的體驗。 (像foreach和永久循環,對整數的原子操作,以及內存管理)

1

特別是WPF,以及所有輪迴(WPF,Silverlight,Moonlight)中的XAML。

C#在.Net 3.5/Mono之上:$ 0 Visual Studio Express/MonoDevelop:$ 0 能夠告訴設計師「讓我的程序更漂亮」並繼續編碼功能:無價。

0

Gtk是我有工作經驗的主窗口繪圖圖形子系統(因此是我最喜歡的XD)。然而,就一般圖形子系統而言,OpenGL(通常與GLUT結合)對我而言是一次簡單而富有成效的旅程。遺憾的是,我有一點DirectX的經驗可以與之比較:S

0

對於編寫標準Windows組件的加強版本,我喜歡Borland的VCL,並且對.NET非常滿意。