如何在 Qt 的 qgrid 布局中获取小部件的坐标
Posted
技术标签:
【中文标题】如何在 Qt 的 qgrid 布局中获取小部件的坐标【英文标题】:How get coordinates of widget in qgrid layout in Qt 【发布时间】:2013-06-08 23:47:07 【问题描述】:我正在尝试设计一个带有充满 qpushbuttons 的网格布局的数独游戏,在将一个数字插入到 qpush 按钮中的那一刻,当点击它们时我需要检查它是否是有效的移动,具体取决于其他“细胞”。我的问题是我需要在 qgridlayout 中单击但无法找到如何操作的 qpushbutton 的行和列。有没有办法获取qgridlayout上点击的qpushbutton的坐标?
【问题讨论】:
【参考方案1】: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;
希望对您有所帮助。
【讨论】:
以上是关于如何在 Qt 的 qgrid 布局中获取小部件的坐标的主要内容,如果未能解决你的问题,请参考以下文章