Jes*_*son 5 c++ qt multithreading
Win32 API有一个PostMessage函数,它将消息发布到GUI消息队列的末尾,以便稍后从GUI线程处理,而不是SendMessage发送和处理与调用线程同步的消息.
有PostMessage功能的Qt解决方案吗?同事建议Qt的服务器/套接字实现可以提供它; 这是一个合理的方法吗?
类似于QTimer解决方案,但具有可以传递参数的优点,是QMetaObject :: invokeMethod方式:
QString SomeClass::compute(const QString&, int, double);
...
QMetaObject::invokeMethod(obj, "compute", Qt::QueuedConnection,
Q_RETURN_ARG(QString, retVal),
Q_ARG(QString, "sqrt"),
Q_ARG(int, 42),
Q_ARG(double, 9.7));
Run Code Online (Sandbox Code Playgroud)
QueuedConnection在事件循环中对其进行排队,DirectConnection将立即执行它.
| 归档时间: |
|
| 查看次数: |
3817 次 |
| 最近记录: |