QPushButton **btn のようないくつかの QPushbuttons を作成しました。ユーザーが QMouseEvent を使用してそのうちの 1 つをクリックしたときを知りたいのですが、コードはここにありますが、このアイデアはまったく機能しません。
void Game::mousePressEvent(QMouseEvent *ev) {
if(ev->button() == Qt::LeftButton)
{
btn[ev->x()][ev->y()].setStyleSheet("background-color : black;");
}
else
{
btn[ev->x()][ev->y()].setStyleSheet("background-color : red;");
}
それ以外の部分は右クリック用で、ボタンを生成するコードは次のとおりです
void Game::MakeButton()
{
btn = new ApButton*[column];
hrztl = new QHBoxLayout[column];
hrztl->setSpacing(0);
for(int i=0; i<column;i++)
{
btn[i] = new ApButton[row];
for(int j=0; j<row; j++)
{
btn[i][j].setRowCol(i,j);
btn[i][j].setFixedSize(50,50);
hrztl[i].addWidget(&btn[i][j]);
}
ui->MainLayout->addLayout(&hrztl[i]);
}
ui->MainLayout->setSpacing(0);
}
ApButton は QPushButton を継承するクラスです