使用对象上的信号/槽
Using signals/slots on an object
我使用boost库中的信号功能可以很好地处理同一类中的函数,但现在我想给在另一个类中声明的对象发出信号。
在这里:
在我的'inputReader'类我有以下函数:
void setNonTraverse(char key, int x, int y);
void setChest(char key, int x, int y);
void setEntry(char key, int x, int y);
void setExit(char key, int x, int y);
在我的代码中读取键盘,我有:
inputReader readInput;
/* This is setting up our signal for sending observations */
boost::signals2::signal<void (char, int, int)> sig;
/* Subjects the Observer will connect with */
sig.connect(bind(&inputReader::setChest, &readInput ));
但是当然……这行不通…我试着看文档,但什么也没找到。有人能帮我吗?
当使用bind
时,您需要为函数接受的任何其他参数放置占位符。在本例中,由于函数有3个参数:
sig.connect(bind(&inputReader::setChest, &readInput, _1, _2, _3));
无论你是在同一个类中还是在一个单独的对象中,你都需要这个
相关文章:
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- QObject::连接无法将信号连接到*this*对象的插槽
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- Qt:如何通知对象已建立涉及它的信号槽连接
- 使用信号和插槽连接多个 UI 对象
- 为什么信号连接会使套接字客户端对象失效?
- 可以在 QObject::connect() C++中连接 QML 对象现有信号?
- 使用 enum 参数将 C++ 对象信号连接到 QML 信号处理程序
- 销毁 qml 对象后的信号槽连接
- 不同类别的 2 个对象之间的信号/插槽
- 两个对象QT之间的示例插槽/信号
- 与不同父母的班级中的对象之间发送信号
- 如何在Qt中向QThread类的特定对象发出信号
- 通过信号从QML接收QChart或QChartView对象
- PyQt5:使用自定义信号时 int 对象的错误转换
- 有没有一种方法可以将升压信号和插槽与不可复制的对象一起使用
- Qt 通过将对象移动到线程来跨线程发出信号
- 升压信号参考对象超出范围?
- QT:我应该如何动态地将信号路由到适当的对象
- 如何构造用于等待来自不相关类的两个信号对象的代码