簡體   English   中英

如何將GUI添加到預先存在的C ++控制台應用程序中?

[英]How can I add a GUI to a pre-existing C++ console application?

我有一個簡單的C ++控制台應用程序,想知道是否有任何方法可以添加GUI而不必重新制作該應用程序。

我正在使用MinGW編譯器,Eclipse CDT IDE以及標准庫和Boost庫。

(不了解很多控制台應用程序)

您將不得不重新制作該應用程序。

如果控制台應用程序“制作精良”,用戶交互與實際功能代碼斷開了,那么它應該是簡單的轉換。

只需創建適當的UI並調用必要的函數即可。

例如,如果您的控制台應用程序包含文本菜單和詢問的答案,那么您將需要在GUI中具有按鈕和/或菜單和/或編輯框,您需要將它們修補到代碼上。

最高

如果您不想重寫應用程序,則可以嘗試使用單獨的引擎和界面模式,其中GUI和控制台應用程序是單獨的可執行文件,其中GUI生成控制台應用程序的實例並與之通信以通過某種機制來驅動該應用程序,例如Stdin

如果無法以這種方式驅動控制台應用程序,則無需更改/重寫該應用程序

您應該詳細說明問題,以獲得更准確的答案。

您的控制台應用程序提供什么交互級別?

-就像一個簡單的帶有輸入參數的命令,該命令在程序結束時產生輸出

在這種情況下,您只需編寫一個gui前端代碼,該前端將從表單或任何所需的參數中獲取參數,然后gui應用程序將啟動控制台命令,解析結果並將其顯示在gui中。

-控制台應用程序具有很高的交互性(在所有執行過程中均接受用戶的輸入)

  • 控制台應用程序代碼很大,並且與控制台交互非常相關:

也許您可以編寫一個使用std :: in和std :: out的gui包裝器,並在gui小部件中呈現兩個流,但這可能很棘手。 這不是一個非常令人滿意的解決方案,僅當您確實不想進入控制台應用程序代碼時才應使用它。

  • 控制台應用程序代碼不是那么大,或者它很容易從程序的其余部分拆分控制台輸入/輸出部分:

在這種情況下,您應該從應用程序中創建一個庫,然后為其編寫GUI。

暫無
暫無

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

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