繁体   English   中英

在* nix下,非GUI应用程序的体面事件库是什么? (C ++)

[英]What's a decent events library for non-GUI applications under *nix? (C++)

首先,我现在正在使用Qt。 但是,我希望程序最终能够在没有GUI环境的情况下运行,主要是为配置留下图形方面。 该程序大量使用Qt定时器和信号/插槽,部分用于QtScript。 因此,如果我想使其非GUI可操作,希望部分Qt可以在没有GUI环境的情况下运行。 如果没有,也许我会研究一个不同的Javascript实现,虽然QtScript非常方便它如何集成到Qt和C ++的OO结构中。 首先,可以在非GUI环境中使用Qt的部分,如果没有,那么事件和调度库还有哪些其他选择? 优选OO设计。

如果您不使用QtGui模块,则不需要GUI。 QtCore等可以正常工作。

你看过Boost.Signals图书馆吗? (我自己没用过。)

libevent 可能就是你要找的东西。 然而,这是在C中。

libevent API提供了一种机制,用于在文件描述符上发生特定事件或达到超时后执行回调函数。 此外, libevent还支持由于信号或定期超时引起的回调。

libsigc ++有一个非常类似于Qt的信号和插槽机制,虽然它是纯C ++(没有额外的预处理器)。 它也可以与gtkmm一起使用,这是GTK +的C ++绑定。

也就是说,如果Qt要求你有一个GUI,我会感到惊讶,所以你可能会坚持使用Qt。

Poco项目提供两个有趣的解决方案:

Boost信号库也非常好用,但它是少数需要构建和链接的boost库之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM