Qt蓝牙服务器无法使用QCoreApplication

时间:2016-07-04 21:20:27

标签: android c++ qt bluetooth

我正在尝试构建一个简单的基于Qt的蓝牙服务器(rfcomm),它只是在控制台中打印客户端发送的文本。我注意到当我使用QCoreApplication(这是我需要的)而不是QGuiApplication或QApplication时,我无法接收任何消息,并且在连接客户端时未通知我(SLOTS未被调用) 。 可以找到整个代码here。可以使用Qt Bluetooth Chat示例测试服务器,并从示例中提取我的服务器的整个代码。它可能是与事件循环相关的东西,但我不知道是什么。我正在使用Qt 5.6.1在OS X El Capitan上运行服务器。

1 个答案:

答案 0 :(得分:2)

根据Qt团队对this报告错误的响应,蓝牙I / O相关功能需要一个QCoreApplication无法使用的运行循环。

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

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

相关问题