2011-06-08 9 views
1

我正在開始一個新的小型項目,其中圖形界面和一些雜亂的數據太多來回都缺失,但代碼的複雜和時間關鍵部分存在並用c/C++編寫。以前我使用過win32 api,MFC做圖形,但我想要一些更現代化的看起來更新,更簡單的維護和更新的東西。我應該提到,我也想嘗試和學習新的東西...我應該使用哪個工具包來爲現有C++代碼創建一個易於編輯和現代的GUI?

幾年前,我嘗試將C++組件用C++整合到pinvoke中。結果非常混亂。但那是很久以前的...

任何提示?我應該使用什麼?

先決條件:Windows(XP或7)和VS 2005,2008或2010. Eclipse也應該正常工作。

回答

3

你可以試試QT或wxWidgets,它們都是很好的C++ GUI工具包。 如果在C++代碼中沒有太多切入點,你可以將它們包裝在幾個C#類中,並使用WPF或Windows窗體(.NET 4或2)。無論如何,這需要「混合託管和非託管代碼」。

+0

他們是免費的嗎?我有一個0美元的bugdet ... – AnnaR 2011-06-08 12:37:30

+0

是的qt和wxWidgets都是開源的。我建議你QT:它有一個LGPL許可證,非常好看,跨平臺 – gigi 2011-06-08 12:39:39

+0

你需要Windows for C#,但除此之外.NET和Visual Studio Express是免費的。 – 2011-06-08 12:41:10

1

您使用QT編寫GUI,並鏈接到您現有的C++代碼中。

2

還沒有嘗試過自己在很長一段時間,但是從我聽到有管理/本地.NET集成什麼是相當不錯的,這些天:

  • 不需要額外的修修補補或依賴;當項目是在Visual Studio中,你就可以開始了,
  • 相當直接的GUI編碼,
  • 維護簡單,
  • 你挑對GUI的任何語言:C#,F#,J#,託管C++ and more(當你想嘗試新的東西時派上用場)。
2

我會推薦使用C++/CLI或託管C++在C#和C++之間進行集成。主要項目是使用C#類的C++/CLI,用於可視化設計的GUI。不應該有必要。所有代碼(GUI和庫部分)甚至可以包含在單個可執行文件中(但取決於.Net的存在)。

如果預算不是障礙(約在這種情況下,$ 150)我還要提到C++ Builder中 - 可視化GUI設計和本地可執行文件(沒有淨依賴)

+0

與標準C++相比,託管C++/CLI的性能如何?慢?一樣? – AnnaR 2011-06-08 14:06:42

+0

使用非託管C++子集時,它與標準C++相同,調用託管部分可能會涉及一些懲罰,但在GUI的情況下不應該引起注意。 – jszpilewski 2011-06-08 14:14:16

+0

如何將c#與C++連接起來?我找不到任何方式,除了使用dllImport等。變得真實緩慢...... – AnnaR 2011-06-09 13:54:54

相關問題