1

qpushbuttons でいっぱいのグリッド レイアウトで数独ゲームを設計しようとしています。qpushbutton をクリックするとトリガーされる数字を挿入する瞬間に、他の「セルに応じて有効な動きかどうかを確認する必要があります。 "。私の問題は、qgridlayout でクリックされた qpushbutton の行と列が必要ですが、その方法を見つけることができなかったことです。qgridlayout でクリックされた qpushbutton の座標を取得する方法はありますか?

4

1 に答える 1

4

http://doc.qt.io/qt-4.8/layout.html#horizo​​ntal-vertical-grid-and-form-layouts

http://doc.qt.io/qt-4.8/qgridlayout.html#getItemPosition

http://doc.qt.io/qt-4.8/qlayout.html#indexOf

コードは次のようになります。

int index = my_grid_layout->indexOf(clicked_widget);

if(index != -1)
{
    int row, col, col_span, row_span;
    my_grid_layout->getItemPosition(index, &row, &col, &col_span, &row_span);
    qDebug() << "Clicked Item is at:" << row << col 
             << "spanning" << row_span << col_span;
}

それが役立つことを願っています。

于 2013-06-09T03:20:58.110 に答える