#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); pmArray[0].load("0.gif", "GIF", 0); //pmArray[1].load("images\\1.gif", "GIF", 0); //pmArray[2].load("images\\2.gif", "GIF", 0); //pmArray[3].load("images/3.gif", "GIF", 0); //pmArray[4].load("images/4.gif", "GIF", 0); //pmArray[5].load("images/5.gif", "GIF", 0); //pmArray[6].load("images/6.gif", "GIF", 0); //pmArray[7].load("images/7.gif", "GIF", 0); //pmArray[8].load("images/8.gif", "GIF", 0); //pmArray[9].load("images/9.gif", "GIF", 0); //pmArray[10].load("images/blank.gif", "GIF", 0); ui->label->setPixmap(pmArray[0]); //ui->label->setText(""); for (int i = 0 ; i < NUM_BUTTONS ; ++i ) { QString num; num.setNum (i); buttons[i] = new MyButton (num, this); buttons[i]->setPosition(i); buttons[i]->setUI(ui); ui->verticalLayout->addWidget(buttons[i]); //connect (buttons[i], SIGNAL(clicked()), this, SLOT(buttonPressed())); } } MainWindow::~MainWindow() { delete ui; } void MainWindow::buttonPressed() { MyButton *b = (MyButton*) sender(); QString num; num.setNum(b->getPosition()); ui->label->setText(num); } MyButton::MyButton(QString text, QWidget *parent) : QPushButton(text, parent) { position = -1; } MyButton::~MyButton() { } void MyButton::setPosition(int pos) { position = pos; } void MyButton::setUI (Ui::MainWindow *uiparam) { ui = uiparam; } int MyButton::getPosition() { return position; } void MyButton::mouseReleaseEvent(QMouseEvent *e) { ui->label->setText("in mouseReleaseEvent"); QString num; num.setNum(getPosition()); if (e->button() == Qt::RightButton) { ui->label->setText(num + "RightButton"); } else if (e->button() == Qt::LeftButton) { ui->label->setText(num + "LeftButton"); } }