Isa*_*aac 5 qt signals-slots compile-time type-safety qtcore
此外,QMetaObject::invokeMethod
是否有任何类型安全的方式来异步调用方法/槽(又名在 GUI 线程中对其执行进行排队)?
没有QMetaObject::invokeMethod
编译时检查函数名称。通过字符串指定成员函数也会产生开销,因为每次调用都会执行查找和字符串匹配。
我想知道是否有类似于QObject::connect
调用提供编译时检查的方法的新语法的内容。
一种解决方案是使用信号槽架构,但这强制将每个调用者代码包装在 QObject 类中,以便能够发出该信号。
可以使用 QTimer::singleShot 来实现此目的
QTimer::singleShot(0, object, &Object::method...);
--
QTimer::singleShot(0, object, [object](){
object->method(arg1, arg2, ...);
});
Run Code Online (Sandbox Code Playgroud)
注意:调用的线程QTimer::singleShot
必须具有QEventLoop
.
归档时间: |
|
查看次数: |
1155 次 |
最近记录: |