我的Qt版本是5.5.1 (Linux),由于某种原因,我无法升级它。
我有QTableView (继承自QWidget),这个QTableView有带有一些QStandardItem的模型QStandardItemModel。问题是:在这种情况下如何获得QStandarditem的全球协调?
ui文件
QWidget *MY_QWidget;
MY_QTableView *MY_QTableView;
MY_QWidget = new QWidget();
MY_QTableView = new QTableView(MY_QWidget);H档案
QStandardItemModel * MY_QStandardItemModel;cpp文件
MY_QStandardItemModel = new QStandardItemModel();
ui->MY_QTableView->setModel(MY_QStandardItemModel);
QStandardItem *MY_QStandardItem;
MY_QStandardItem = new QStandardItem(tr("some text"));
MY_QStandardItemModel->setItem(0,0,MY_QStandardItem);// <- Global position of this item 发布于 2017-10-06 18:50:52
要获得QStandardItem的本地位置,可以使用QAbstractItemView::visualRect
QModelIndex index = MY_QStandardItemModel->indexFromItem(MY_QStandardItem);
QRect rect = MY_QTableView->visualRect(index);
Qpoint localPoint = rect.topLeft(); // <- the local position为了获得全局位置,您可以使用QWidget::mapToGlobal
Qpoint globalPosition MY_QTableView->mapToGlobal(localPoint); // <- the global positionhttps://stackoverflow.com/questions/46600202
复制相似问题