用于C ++控制台应用程序的Web GUI?

时间:2011-10-25 18:34:22

标签: c++ html user-interface

我有一个C ++项目,我需要有一些GUI,我没有时间学习类似Win32 API(或qt或gtk)。

所以我的问题是: 我有什么选择为我的C ++控制台应用程序构建基于Web的GUI?例如,是否可以将HTML用于GUI并以某种方式将我的C ++代码嵌入到网页中?

感谢。

6 个答案:

答案 0 :(得分:3)

检查CppCMS框架。它使用C ++实现Web服务,处理请求和输出响应变得容易,也可以使用HTML模板。简单来说,服务器端嵌入式C ++脚本功能。

答案 1 :(得分:2)

您是否考虑使用Wt网络工具包?它是一个C ++库,为C ++程序提供Web用户界面。

您还可以使用某些HTTP服务器库,例如libonion

答案 2 :(得分:1)

基于Web的gui在客户端运行,代码仅限于Javascript。要在您的站点上运行C ++,您需要设置一个服务器,该服务器可以通过控制台调用C ++代码并接受来自控制台的输出。然后,您必须使用页面帖子或ajax调用将该信息传达给客户端。

答案 3 :(得分:1)

我怀疑这是你想要的,但有

  • PoCo http://pocoproject.org/docs/Poco.Net.HTTPServer.html

    它有一个HTTPServer / HTTPRequestHandler模​​型,它支持一种用C ++编写的服务器类脚本(如<?php ... ?>但使用C ++);请参阅 here 获取示例:

    <%@ page class="TimeHandler" %>
    <%!
        #include "Poco/DateTime.h"
        #include "Poco/DateTimeFormatter.h"
        #include "Poco/DateTimeFormat.h"
    
    
        using Poco::DateTime;
        using Poco::DateTimeFormatter;
        using Poco::DateTimeFormat;
    %>
    
    <%
        DateTime now;
        std::string dt(DateTimeFormatter::format(now,  DateTimeFormat::SORTABLE_FORMAT));
    %>
    <html>
    <head>
    <title>Time Sample</title>
    </head>
    <body>
    <h1>Time Sample</h1>
    <p><%= dt %></p>
    </body>
    </html>
    
         

    • http://pocoproject.org/documentation/PoCoOverview.pdf(第2.9节):

        

      C ++服务器页面编译器

           

      页面编译器是一个命令行工具,可以翻译HTML文件(和其他文件)   各种文件)到C ++类中,用于提供的HTTP服务器   网络图书馆。源文件可以包含允许的特殊指令   嵌入C ++代码。这些指令的语法基于   用于Java Server Pages(JSP)和Active Server Pages(ASP)的语法。这个   使用POCO C ++可以很容易地用C ++构建Web应用程序   库。

  • Klone Embedded Webserver 做类似事情

  • Emscripten能够通过LLVM中间代码将大量C ++代码编译为javascript。这可以用于使用完全在webbrowser

  • 中运行的现有库函数

答案 4 :(得分:0)

控制台应用程序是否需要某种交互,或者只是采用一堆命令行参数,运行并转储一些输出?

如果您只是想创建一个Web表单来输入值,请在shell中运行应用程序并将结果格式化为网页 - 这很简单,建议像Python一样编写包装器以启动程序但是任何事情都会做。

如果您需要在网络运行时与网络互动,请参阅expect

答案 5 :(得分:0)

PHP有shell_exec,它将执行命令,就像从命令行执行一样。虽然我没有具体的信息,但Python和Ruby框架可能在某种程度上支持popen。