我有一个C ++项目,我需要有一些GUI,我没有时间学习类似Win32 API(或qt或gtk)。
所以我的问题是: 我有什么选择为我的C ++控制台应用程序构建基于Web的GUI?例如,是否可以将HTML用于GUI并以某种方式将我的C ++代码嵌入到网页中?
感谢。
答案 0 :(得分:3)
检查CppCMS框架。它使用C ++实现Web服务,处理请求和输出响应变得容易,也可以使用HTML模板。简单来说,服务器端嵌入式C ++脚本功能。
答案 1 :(得分:2)
答案 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。