void MainWindow::addRadioToUI()
{ int button_cunter=4;
while(!database.isEmpty())
{ button_cunter++;
QPushButton *one = new QPushButton("Play: "+name(get_r.getTrackId()));
one->setIcon(QIcon(":/images/play_button.png"));
one->setMaximumWidth(140);
one->setFlat(true);
QGroupBox* get_rGB = new QGroupBox("somethink");
QFormLayout* layout = new QFormLayout;
if(button_cunter%5 == 0){
layout->addWidget(one);
}
get_rGB->setLayout(layout);
scrollAreaWidgetContents->layout()->addWidget(get_rGB);
}
}
我有几个自动添加的 QPushButton。 有没有办法向按钮添加“id 属性或其他”,然后知道单击了哪个按钮?我对每个按钮都有不同的操作。
最佳答案
QApplication
提供 sender()
,其中包含哪个对象发送了信号。所以你可以这样做:
//slot, this could also be done in a switch
if(button[X] == QApplication::sender()){
doX();
}else if(button[Y] == QApplication::sender()){
doY();
}
关于c++ - Qt、按钮、id 属性?任何知道点击哪个按钮的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692735/