我正在尝试设计一个带有充满 qpushbuttons 的网格布局的数独游戏,在将一个数字插入到 qpush 按钮中的那一刻,当点击它们时我需要检查它是否是有效的移动,具体取决于其他“单元格”。我的问题是我需要在 qgridlayout 中单击但无法找到如何操作的 qpushbutton 的行和列。有没有办法获取在 qgridlayout 上单击的 qpushbutton 的坐标?
问问题
1969 次
1 回答
4
http://doc.qt.io/qt-4.8/layout.html#horizontal-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 回答