10个信号连一个槽,怎么办?
我在一个界面上定义了10个Slider,用QVector<QSlider *>保存Slider的指针。
当每一个Slider的值变化时都发出一个void ValueChanged(int)信号,由窗口的void ValueChanged(int)槽接收。
但问题出来了,当10个中的一个Slider的值变化了,窗口的槽函数怎么知道是哪个Slider发出的信号呢?
请教!
[解决办法]
QObject * QObject::sender () const [protected]
[解决办法]
QObject::Sender()返回发送信号的对象的指针,返回类型为QObject *,可以拿到QSlider *slider 指针。
QSlider *slider = qobject_cast<QSlider *>(sender());
[解决办法]
楼上正解
[解决办法]
两种思路:
1.sender();
2.signalMap