因此,我希望创建我们自己的通用继承复选框类,该类将能够在其构造函数中接受一些值,并弹出一个以我们需要的方式完全连接到我们的模型的小部件。
目前我们在我们的视野范围内做这样的事情
connect(checkboxWidget, &QCheckbox::Clicked, this, &VMyView::Signal);
单击该复选框时,它会从 VMyView 发出信号。
如果我想将该信号作为参数传递到我的新继承类中以连接到它自己的 connect 语句中,我该怎么做?
研究表明我可以传递 const char* 但我收到信号/槽不匹配的编译错误。
Example
CheckBox(View myView, const char* signal)
{
connect(this, &QCheckBox::Clicked, myView, signal);
}
返回信号和槽参数不兼容的错误。我也尝试过 SIGNAL(signal) ,结果相同。
最终解决方案相当简单
而不是在我的视图中使用它
connect(pCheckbox, &QCheckBox::clicked, this, &MyView::Signal);
I use
connect(this, &QCheckBox::clicked, View, signal);
信号 和 通过函数指针进入我的函数
MyCheckBox::MyCheckBox(QWidget* parent, MyView* View, void(MyView::*signal)(bool))
关键要点是
void(MyView::*signal)(bool)
等于
&MyView::Signal
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)