簡體   English   中英

用於WPF的C ++模擬

[英]C++ Analogue for WPF

所以我最近有點愚弄WPF,我必須說我真的很喜歡這個主意。 從GUI到管道,我喜歡整個框架。

然而,盡管我喜歡管理的土地,但我也喜歡我的原生代碼。 所以我想知道C ++存在哪種類型的庫,它們捕獲了WPF各個部分的本質。 我不是在尋找互操作解決方案,也不是我想要Managed C ++或C ++ / CLI解決方案,而是純粹的C ++解決方案。

現在,我不期望為C ++找到WPF的“副本” - 我不希望它存在,我也不需要它。 相反,我希望不同的庫可以捕獲所需概念的子集。 我特別感興趣的是

  1. 基於小部件的GUI的硬件加速圖形(通過DirectX或OpenGL,最好是后者)

  2. GUI設計的聲明性語言(最好是XML方言)

  3. 數據綁定

  4. 分辨率獨立性(不太重要)

為了說一下我的推理,我想自己實現這樣一個庫,它捕獲了我已經開始研究的特定模型。 在鎖定我的設計之前,我正在尋找更多靈感和有用的資源。 該庫旨在跨平台,因此對跨平台創意的參考將是偉大的,但並非嚴格必要,因為我通常能夠將事物轉換為跨平台解決方案。

最后,雖然我正在編寫一個C ++庫,但C ++的想法很棒,但我對任何母語的想法持開放態度。

在此先感謝您的幫助。

  1. 沒有這樣的事情。 無論如何都不是跨平台的。 Direct2D工作得相當好,但顯然只有Windows。 NVIDIA最近放棄了OpenGL的這種“路徑”擴展,它在基本功能上類似,但它僅限NVIDIA(並且在Mac OSX上不可用)。 開羅有一個OpenGL后端,但我不知道它有多好。 如果Mozilla在Windows上傾向於開源而不是D2D,那就不是那么好了。
  2. 許多GUI工具包都有某種形式的語言來制作GUI。 Qt有一個預編譯成C ++的版本。
  3. 從來沒聽說過。 數據綁定需要某種形式的反射(WPF樣式的數據綁定確實),而C ++沒有本機支持反射。 因此,在開始使WPF樣式的數據綁定工作之前,您需要實現某種反射。
  4. 它帶有#1。 或多或少,因為任何基於GPU的渲染器都能夠以任意分辨率運行。

我喜歡C ++,但老實說,這種事情最適合更高級別的語言。 缺乏基於語言的反射支持將使實現數據綁定成為一個巨大的痛苦。 然而,您可以在C ++中實現低級“渲染東西到區域”和基本窗口/事件管理,然后將其暴露給數據綁定和此類工作的腳本語言。 這樣,您可以在需要的地方獲得本機代碼速度,但是腳本語言的多功能性和反映可以處理GUI及其相關數據。

我已經好幾年了,但為了其他人閱讀這個問題的好處:你正在尋找Qt Quick / QML:

http://qt-project.org/doc/qt-4.8/qml-intro.html

http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html

暫無
暫無

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

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