gpt4 book ai didi

qt - 如何在 QTreeView 项目上找到从 customContextMenuRequested() 中选择的项目?

转载 作者:行者123 更新时间:2023-12-04 22:01:35 27 4
gpt4 key购买 nike

我已经使用以下代码在 QTreeView 项目中实现了上下文菜单

MyDerivedQTreeView->setModel(MyDerivedQAbstractItemModel);
MyDerivedQTreeView->setContextMenuPolicy(Qt::CustomContextMenu);
connect(MyDerivedQTreeView,
SIGNAL(customContextMenuRequested(const QPoint &)),
MyDerivedQAbstractItemModel(),
SLOT(contextualMenu(const QPoint &)));

void MyDerivedQAbstractItemModel::contextualMenu(const QPoint& point)
{
QMenu *menu = new QMenu;
menu->addAction(QString("Test Item"), this, SLOT(test_slot()));
menu->exec(MyDerivedQTreeView->mapToGlobal(point));
}

MyDerivedQAbstractItemModel::contextualMenu() 被调用,我可以看到上下文菜单。

问题是,上下文菜单仅在用户右键单击某个项目时才可见,并且应根据所选项目进行自定义。

我如何获取是否/从QPoint信息中选择了哪个项目?我在 Qt 4.5.3 上。

最佳答案

在构建自定义菜单之前,也许您可​​以使用 QTreeView 的 indexAt() 方法来获取进行单击的项目。

关于qt - 如何在 QTreeView 项目上找到从 customContextMenuRequested() 中选择的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2666367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com