【发布时间】:2014-03-27 17:33:26
【问题描述】:
我正在尝试开发一个简单的 Qt 应用程序。 在我按下“开始”按钮后,应用程序应该不断地从设备中检索数据(使用第三方库)并尽快通过串行连接转发它们。
到目前为止,我使用的(丑陋的)软件是一个控制台应用程序,它以顺序方式运行,并在主机提供数据帧后立即获取数据帧,使用以下循环:
while(1)
{
[...]
while( MyClient.GetFrame().Result != Result::Success )
{
Sleep( 200 );
std::cout << ".";
}
[... pack and send on serial]
}
我想知道在 Qt 中实现这一点的哪种方式更方便,以保持 GUI 响应,同时也尽可能减少 getFrame 和串行写入函数之间的延迟。
我应该使用 定时器触发的 SLOT 吗? QtConcurrent 命名空间? QRunnable? 这些方法各自的主要优点和缺点是什么?
谢谢 求您的帮助!
【问题讨论】:
标签: c++ qt qtconcurrent