首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QStandardItem全局定位

QStandardItem全局定位
EN

Stack Overflow用户
提问于 2017-10-06 07:11:20
回答 1查看 305关注 0票数 0

我的Qt版本是5.5.1 (Linux),由于某种原因,我无法升级它。

我有QTableView (继承自QWidget),这个QTableView有带有一些QStandardItem的模型QStandardItemModel。问题是:在这种情况下如何获得QStandarditem的全球协调?

ui文件

代码语言:javascript
复制
QWidget *MY_QWidget;
MY_QTableView *MY_QTableView;
MY_QWidget = new QWidget();
MY_QTableView = new QTableView(MY_QWidget);

H档案

代码语言:javascript
复制
QStandardItemModel * MY_QStandardItemModel;

cpp文件

代码语言:javascript
复制
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                                                                                   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-06 18:50:52

要获得QStandardItem的本地位置,可以使用QAbstractItemView::visualRect

代码语言:javascript
复制
QModelIndex index = MY_QStandardItemModel->indexFromItem(MY_QStandardItem);
QRect rect = MY_QTableView->visualRect(index);
Qpoint localPoint = rect.topLeft(); // <- the local position

为了获得全局位置,您可以使用QWidget::mapToGlobal

代码语言:javascript
复制
Qpoint globalPosition MY_QTableView->mapToGlobal(localPoint); // <- the global position
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46600202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档