遇到一个需求,一个界面上有若干的按钮,点击后调用同一个slot,但是参数不同。按理说是个很简单的问题,但是却花了半个小时才找到方法
记录一下解决方法,以备后用。
思路:根据点击按钮获取对应的objectname 通过改方法进行判断,代码如下:
QPushButton* btn= qobject_cast<QPushButton*>(sender());
if( "catsListBtn" == btn->objectName())
{
}
else if( "goodssListBtn" == btn->objectName())
{
}
可以使用QObject::sender()返回发送信号的对象的指针,这个sender函数返回类型为QObject *,可以使用qobject_cast转型为发信号的对象的类型