QT中获取发送者信号信息

QT信号与槽是qt中很常见的东西, 那么比如在按钮很多的情况下怎样获取发送者的信息了 。

下面举  QPushbutton的例子

——h文件中 
QPushButton* m_buttons[20];

——cpp文件中


for (int  i = 0; i < 100; i++)

{

 m_buttons[i] = new QPushButton(this);
 
 
 connect(m_buttons[i], SIGNAL(clicked()), this, SLOT(onButtonClicked()));


}



槽函数处理:

void QCalculatorUI::onButtonClicked()
{
    QPushButton* btn = (QPushButton*)sender();  // 获取到了发送该信号按钮的指针
 
 
    qDebug() << "onButtonClicked()";
    qDebug() << btn->text();
}
 
 
当然一切均为 QObject   可以  转换为QObject  强转也是可以的。

猜你喜欢

转载自blog.csdn.net/lvmengzou/article/details/78162050