0

我有一个verticalLayout每行有一个按钮的三个标签。当我单击每个按钮时,事件

button_clicked()
{

}

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

4

1 回答 1

2

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

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

void MyClass::button_clicked() {
    QAbstractButton* button = qobject_cast<QAbstractButton*>(sender());
    if ( !button ) {
        return; // not called from a button.
    }
    button->setText("Clicked");
}
于 2013-04-20T20:44:22.467 回答