#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // add a central Widget to act as the parents of the push buttons QWidget *centralWidget; centralWidget = new QWidget(this); QPushButton *pushButton; for (int i = 0 ; i < NUM_BUTTONS ; ++ i) { QString number; number.setNum(i); QString name ("Button"); name.append(number); pushButton = new QPushButton(name, centralWidget); pushButton->setObjectName(name); ui->verticalLayout->addWidget(pushButton); QObject::connect(pushButton, SIGNAL(clicked()), this, SLOT(buttonClicked())); buttonArray[i] = pushButton; } } MainWindow::~MainWindow() { delete ui; } void MainWindow::buttonClicked() { QPushButton* pb = (QPushButton *) sender(); int pos = -1; for (int i = 0; i < NUM_BUTTONS ; ++i) { if (pb == buttonArray[i]) pos = i; } QString number; number.setNum(pos); ui->label_2->setText(number); }