【发布时间】:2011-01-25 22:24:05
【问题描述】:
我试图在插槽/信号设置的接收端获取类的几个成员变量的信息,所以我想传递整个类。不幸的是,类通过后,成员变量似乎为空。这是一些代码sn-ps:
这设置了通过类的信号
signals:
void selected(const ControlIcon *controlIcon);
这是插槽/信号连接
connect(controllerList->serialController, SIGNAL(selected(const ControlIcon*)),
infoView, SLOT(serialControllerSelected(const ControlIcon*)));
我从要传递的类中发出信号
emit selected(this);
这是调用类成员数据的代码
QLabel *ASCIIStringHolder = new QLabel;
ASCIIStringHolder->setText(controlIcon->m_ASCIIString);
标签中什么都没有显示,当我设置断点时,我可以看到m_ASCIIString里面什么都没有。
我首先确保它被分配了一些文本,这不是问题。我还尝试了使用和不使用const 的信号/插槽设置。
任何帮助将不胜感激。
【问题讨论】:
-
您是否在
serialControllerSelected()插槽内设置了断点?这里有一些奇怪的东西;是serialController还是ControlIcon*? -
对不起,我忘了提。 SerialController 是 ControlIcon 的子类,所以是的。此外,信号发送和接收都很好(到达槽内的断点),所以错误不存在。
标签: qt signals parameter-passing signals-slots