Qt 判断界面当前点击的按钮

遇到一个需求,一个界面上有若干的按钮,点击后调用同一个slot,但是参数不同。按理说是个很简单的问题,但是却花了半个小时才找到方法

记录一下解决方法,以备后用。


思路:根据点击按钮获取对应的objectname  通过改方法进行判断,代码如下:

 QPushButton* btn= qobject_cast(sender());
if( "catsListBtn" == btn->objectName())
{

}
else if( "goodssListBtn" == btn->objectName())
{

}

可以使用QObject::sender()返回发送信号的对象的指针,这个sender函数返回类型为QObject *,可以使用qobject_cast转型为发信号的对象的类型

你可能感兴趣的:(Qt,C++)