Qt蓝牙服务器不能与QCoreApplication一起工作

Qt Bluetooth server not working with QCoreApplication

本文关键字:QCoreApplication 一起 工作 不能 服务器 Qt      更新时间:2023-10-16

我试图建立一个简单的基于Qt的蓝牙服务器(rfcomm),只是在控制台上打印由客户端发送的文本。我注意到,当我使用QCoreApplication(这是我需要的)而不是QGuiApplication或QApplication时,我无法接收任何消息,当客户端连接时我不会收到通知(插槽未被调用)。完整的代码可以在这里找到。服务器可以用Qt蓝牙聊天的例子进行测试,我的服务器的整个代码是从这个例子中提取的。它可能与事件循环有关,但我不知道是什么。我运行的服务器上的OS X El Capitan与Qt 5.6.1。

根据Qt团队对这个报告的bug的回应,蓝牙I/O相关功能需要一个运行循环,这在QCoreApplication中不可用。

Qt 5.7有一个解决这个问题的方法-使用Core Foundation事件调度程序。

要激活这个事件调度程序,您需要设置'QT_EVENT_DISPATCHER_CORE_FOUNDATION=1'环境变量。

相关文章:
  • 没有找到相关文章