Qt信号和插槽与c ++回调混合

时间:2015-09-29 10:06:55

标签: c++ qt user-interface callback signals-slots

我有一个程序,目前使用Qt框架实现信号和放大器插槽机制。但是由于一些要求,我需要将程序拆分为两部分:1 - 库是普通的c ++,独立于第三方软件和2-GUI应用程序,它链接到库(1)并且可以有依赖于Qt。

这意味着我需要从原始信号/槽方法重构一些类,而不是实现c ++观察者模式/监听器。

所以我的问题是,我的GUI(Qt部分)如何与重写的库进行通信,是否有办法将信号/插槽与其等效的C ++回调连接。

例如,如果我有以下类Example.h:

signal:

void data_sent( bool start_timer = true );

现在它将被移动到ExampleListener.h:

void on_data_sent( bool start_timer = true );

在GUI部分我有:

connect( m_state, SIGNAL( data_sent ), this, SLOT( update( ) ) );

这样的事情是否有效:

connect( m_state, SIGNAL( on_data_sent( ) ), this, SLOT( update( ) ) );

简而言之,信号/插槽与传统C ++回调之间的混合是否有效?

非常感谢!

0 个答案:

没有答案