QPushButton并点击了插槽

时间:2013-04-20 20:15:17

标签: c++ qt5

我有一个verticalLayout,其中有三个标签,每行都有一个按钮。当我点击每个按钮时,事件

button_clicked()
{

}

正在开火。此事件适用于所有按钮,即当我点击每个按钮时,此功能被调用。现在我想要当我点击每个按钮时该按钮所在的同一行删除。我怎样才能做到这一点?首先必须是一个唯一的值,我检测到哪个按钮被点击,第二个我必须删除该行,但我知道如何。 任何想法?

1 个答案:

答案 0 :(得分:2)

使用评论中提供的其他数据重新回答:

您可以将所有按钮连接到同一个插槽,然后使用sender()方法识别触发信号的人:

void MyClass::button_clicked() {
    QAbstractButton* button = qobject_cast<QAbstractButton*>(sender());
    if ( !button ) {
        return; // not called from a button.
    }
    button->setText("Clicked");
}