我有一个大型跨平台(Linux和Windows)C++项目,我想为其创建一个GUI。对于此类项目的GUI基本原则,我有几个非常普遍的问题:是否应该将GUI与应用程序的逻辑分开?如果分开,逻辑和GUI应该如何沟通?TCP/IP套接字是一个不错的选择吗?还有哪些可能?让GUI使用不同于C++的语言是个好主意吗?如果是-哪种语言?拥有基于浏览器的GUI是个好主意吗?尽管项目的核心逻辑是跨平台的,但我可以决定GUI将仅基于Windows(.NET?),它将通过Socket或类似方法与相关Win/Linux机器上的逻辑通信.这样做是个好主意吗? 最佳答案
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭7年前。Improvethisquestion我想在Windows上使用C++创建GUI应用程序。我已经下载了Qt,它运行良好,但是它里面有很多东西和很多我真的不使用的头文件。这是一个不错的框架,但它不仅仅是GUI。是否有任何适用于WindowsC++的“只是GUI”的更轻量级的GUI库? 最佳答案 FLTK,如果您对轻量级是认真的。http://
每个Node进程一个cmd窗口,我不知道这些窗口是做什么用的。我可以隐藏它们吗? 最佳答案 使用AutoHotkey我在Windows上为我解决了这个问题。这将在任务栏的通知区域(时钟旁边的某个位置)中添加一个托盘图标。您还可以通过右键单击此图标然后“退出”来停止脚本本身和node.js脚本。#SingleInstance,forceOnExit,ExitSubRunWait,node"main.js",%A_ScriptDir,Hide,pidExitAppExitSub:Process,close,%pidExitApp如果需要
发出“pm2restartall”将重新启动pm2正在管理的所有进程。我想知道:如果对任何源文件进行了更改,这是否真的会重新加载更改?还是只是重新启动内存中现有的pm2进程。 最佳答案 是的,pm2restart获取本地更改。如果您没有看到更改,客户端可能必须清除缓存/刷新。 关于javascript-关于pm2restart与reload的混淆,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que
我有一个在pm2上运行的Node服务器,它依赖于一些外部服务。当这些服务器出现故障时,我pm2开始重新启动我的应用程序,但这会一直持续到它阻塞我的cpu和服务器上的内存,每分钟重新启动多达50次。有没有办法限制pm2的重启次数?当服务器达到一定的RAM内存级别时,有一种方法可以重新启动服务器,所以我希望我要求的这个功能存在。 最佳答案 您可以结合使用max_restarts和min_uptime来限制应用连续重启。numberofconsecutiveunstablerestarts(lessthan1secintervalorcu
我的Node应用程序中有一些有用的日志记录,我写入console.lognodeserver.js>>/var/log/nodeserver.log2>&1但是,在pm2下尝试相同操作时:pm2startserver.js>>/var/log/pm2server.log2>&1日志文件只显示pm2启动信息是否可以使用pm2进行应用程序日志记录?在他们的页面上,他们讨论了日志记录,并显示了带有“来自echo.js的日志消息”之类的文本的图像,但我看不到将自定义信息放入pm2日志中。 最佳答案 当使用pm2运行时,您的应用程序日志将驻留
我们正在尝试在具有八核处理器的ubuntu14.04上使用pm20.12.8启动我们的应用程序。github上的自述文件有一个非常直接的命令,用于在集群模式下运行Node应用程序。#集群模式$pm2startapp.js-i0**#WillstartmaximumprocesseswithLBdependingonavailableCPUs**$pm2startapp.js-imax**#Sameasabove,butdeprecatedyet.**但是上面的命令对我们不起作用。当我们尝试运行这些命令时,pm2只列出了一个实例。为什么?任何建议谢谢 最佳答案
有PM2配置,/home/foo/someconfig.json{"apps":[{"name":"foo-main","script":"./index.js",},{"name":"foo-bar","script":"./bar.js"},{"name":"foo-baz","script":"./baz.js"}]}大多数时候我想引用当前命名空间下的所有应用程序,例如pm2restartfoo而不是做pm2restartfoo-mainfoo-barfoo-baz无法使用Bash大括号扩展,因为应用程序可能在Windows中运行。执行pm2restart/home/foo/so
我的问题是关于结合PM2运行HTTP-server。我面临的问题是:HTTP-server需要一个作为网站根目录的文件夹和一个运行网站的端口号作为输入。即使使用-g选项安装HTTP-server,PM2也无法识别HTTP-server命令。所以我尝试了以下方法(注意应该将参数传递给HTTP服务器脚本的双破折号:/node_modules/http-server/lib$pm2starthttp-server.js--/home/unixuser/websiteroot-p8686但它不起作用。我也试过了:http-server/home/unixuser/websiteroot-p86
我目前正在用Express.js编写Node.js,每次在文件路由器或应用程序中更改一行代码,都需要输入命令:pm2reloadid_project.如何让pm2在文件更改时自动重新加载项目? 最佳答案 您需要启动pm2--watch的项目选项:pm2start--watch在哪里指:scriptthescript的路径你想让pm2处理name"ecosystem"file中的配置名称id指已经使用pm2运行的应用程序,可以使用pm2list获取(请注意,这实际上需要restart而不是start,因此它可能是最不可取的选项)您还可