C++ QStandardItem全球位置

C++ QStandardItem全球位置,c++,qt,C++,Qt,我的Qt版本是5.5.1 Linux,由于某些原因,我无法升级它 我有从QWidget继承的QTableView,这个QTableView有模型QStandardItemModel和一些QStandardItem。问题是:在这种情况下,如何获得QS标准项目全球协调 用户界面文件 QWidget *MY_QWidget; MY_QTableView *MY_QTableView; MY_QWidget = new QWidget(); MY_QTableView = new QTableView(

我的Qt版本是5.5.1 Linux,由于某些原因,我无法升级它

我有从QWidget继承的QTableView,这个QTableView有模型QStandardItemModel和一些QStandardItem。问题是:在这种情况下,如何获得QS标准项目全球协调

用户界面文件

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                                                                                   

要获取QStandardItem的本地位置,您可以使用:

为了获得全球地位,您可以使用:

QModelIndex index = MY_QStandardItemModel->indexFromItem(MY_QStandardItem);
QRect rect = MY_QTableView->visualRect(index);
Qpoint localPoint = rect.topLeft(); // <- the local position
Qpoint globalPosition MY_QTableView->mapToGlobal(localPoint); // <- the global position