qt - Qt slot 需要 const & QString,signal 只需要 QString
问题描述
我继承了 Qt 代码,其中信号通常仅使用以下类型声明:例如
class One : public QObject
{
Q_OBJECT
signals:
gotEvent(QString message);
}
class Two : public QObject
{
Q_OBJECT
slots:
handleEvent(QString const &message);
}
QObject::connect(one_instance, &One::gotEvent, two_instance, &Two::handleEvent);
当我emit gotEvent(string);
从 One 类调用时(假设 one_instance 和 two_instance 在同一个线程中),字符串是否被复制,还是通过引用传递给 handleEvent()?
换句话说,字符串的 const-ness 是依赖于信号声明,还是只依赖于槽声明?我假设它在信号中声明的方式没有任何区别,因为信号不是定义的函数,但我想确定。
解决方案
推荐阅读
- rollupjs - 如何使用汇总仅捆绑 node_modules
- python - 有没有办法通过无头浏览器自动对 Google API 进行 Oauth2.0 身份验证?
- r - 在字符向量中替换 "
- sql - 雪花查询引擎策略上的几种带查询条件
- pandas - 基于 Pandas 中另一列文本的特征工程师文本
- c++ - 您的一个应用程序进程的 MPI 错误终止,被信号 9 杀死
- html - 在逻辑应用上使用从共享邮箱发送电子邮件 (V2) 发送 HTML 电子邮件
- android - assets_audio_player 不能使用 realtimePlayingInfos.current.audio.audio.metas.image.path
- postgresql - postgres 函数看不到变量
- python - 从拟合的 xgboost 模型对象中检索超参数