1

我正在尝试设计一个带有充满 qpushbuttons 的网格布局的数独游戏,在将一个数字插入到 qpush 按钮中的那一刻,当点击它们时我需要检查它是否是有效的移动,具体取决于其他“单元格”。我的问题是我需要在 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 回答