为一个libevent app创建基于Qt的gui

时间:2011-05-19 12:46:18

标签: qt event-handling qml libevent

我目前大量使用libevent用于C / C ++网络编程,我喜欢我可以轻松制作基于事件的应用程序,而不必担心我是否需要使用select,poll,epoll,kqueues等。我的应用程序make是纯文本的,现在我正在查看Qt / QML为我现有的网络应用程序制作GUI。

我只是不知道如何将它们集成到一个应用程序中,因为libevent和qt都想运行自己的事件循环。我是否需要查看在自己的线程中运行每个线程(一个线程中的gui和另一个线程中的libevent-backend)或者我错过了一些非常简单的东西? : - )

谢谢, 尼娜

2 个答案:

答案 0 :(得分:0)

你可以从libevent循环中的空闲计时器调用QApplication::processEvents(或者反过来,假设libevent有类似的东西)。

OTOH,有两个线程可能不是 坏,因为Qt允许线程之间的信号/插槽连接(以及通过QMetaObject::invokeMethod的一般方法调用)。

这取决于libevent和Qt GUI之间的集成需要在你的应用程序中的紧密程度。

答案 1 :(得分:0)

实现包装libevent的QAbstractEventDispatcher。