如何在 QTreeWidget 中找到所选项目?

2024-01-27

我有一个继承 QTreeWidget 的类。如何找到当前选定的行? 通常我通过这种方式将信号连接到插槽:

connect(myButton, SIGNAL(triggered(bool)), this, SLOT(myClick()));

但是,我找不到类似的东西QTreeWidget->QTreeWidgetItem。 我发现的唯一方法是重新定义 QTreeWidget 类的 mousePressEvent,如下所示:

void MyQTreeWidget::mousePressEvent(QMouseEvent *e){
    QTreeView::mousePressEvent(e);
    const QModelIndex index = indexAt(e->pos());
    if (!index.isValid())
    {
    const Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers();
    if (!(modifiers & Qt::ShiftModifier) && !(modifiers & Qt::ControlModifier))
    clearSelection();
    }
 }

我还没尝试过。是唯一的解决方案还是有更简单的方法?


达斯蒂几乎是正确的。但是 itemSelectionChanged 信号不会告诉您选择了哪个项目。

QList<QTreeWidgetItem *> QTreeWidget::selectedItems() const

将为您提供所选项目。

因此,将插槽连接到 itemSelectionChanged 信号,然后在树小部件上调用 selectedItems() 以获取所选项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 QTreeWidget 中找到所选项目? 的相关文章

随机推荐

  • 用户“NT AUTHORITY/ANONYMOUS LOGIN”的 Azure SQL 服务器登录失败

    我正在尝试使用我的 Azure Active Directory 帐户从 SSMS 登录 Azure SQL 服务器 我已经遵循了这个指南 使用 SQL 配置和管理 Azure Active Directory 身份验证 https lea
  • 如何使用 JavaScript 返回 eval(code) 并获取对象?

    我有这段代码 我想要它做的是加载 js 文件然后运行它 当它运行时 我希望它返回一个参数 甚至更好的是一个对象 这是我页面中的代码 var runCode function var xhr new XMLHttpRequest xhr op
  • 什么是“实时”

    我无法决定是否将我的应用程序分类为 实时 或 接近实时 甚至可能是其他类别 该软件立即接收从源生成的数据 然后根据某些规则 在满足某些条件时发出警报 它采用每30秒检查最后30秒数据的方法来查看是否满足规则的标准 那是实时的吗 实时与准实时
  • 错误代码:2013。查询期间丢失与 MySQL 服务器的连接

    我拿到错误代码 2013 查询期间丢失与 MySQL 服务器的连接当我尝试使用 MySQL Workbench 向表添加索引时出错 我还注意到 每当我运行长查询时它就会出现 有没有办法增加超时值 新版本的 MySQL WorkBench 提
  • 相当于“evalin”,不需要输出参数(内部)

    背景 我正在阅读有关访问隐藏函数的内容 并开始使用builtin 我写了一个小函数 function klear x go to parent environment evalin base builtin clear x end 这会引发
  • 如何在 Android 适配器中反转使用 FirebaseUI- 获取的数据?

    我尝试使用FirebaseUI 实时数据库Android lib 使用 recycler view 适配器简单地在 viepager2 中显示数据集 当我获取数据时 我首先获取最旧的数据 并且我需要先显示最新的数据 所以我需要一个相反的顺序
  • 如何从JSP输出HTML <%! ... %> 阻止?

    刚开始学习JSP技术 遇到了瓶颈 如何从 JSP 声明块 这不起作用 服务器说没有 out U 我确实知道如何使用返回字符串的方法重写代码 但是有没有办法在 尽管它可能不是最佳的 但它仍然很有趣 您不能在指令内使用 out 变量 也不能使用
  • shell 脚本的 Groovy 参数

    我一直在尝试将我的代码分成两个不同的文件 callTheFunction groovy and theFunction groovy 从文件名可以看出 callTheFunction groovy调用中定义的函数theFunction gr
  • PostgreSQL 数据库静态加密

    如何加密静态 PostgreSQL 数据库 我找不到关于如何实现这一目标的良好文档 威胁模型在这种情况下非常重要 因为有效地加密数据库并不是一件容易的任务 这可以在 3 个不同的层完成 客户端应用程序 存储设备 数据库本身 请注意 在所有情
  • 迭代 Node.js 中的对象键

    从 Javascript 1 7 开始 有一个Iterator https developer mozilla org en New in JavaScript 1 7 Iterators对象 它允许 var a a 1 b 2 c 3 v
  • MySQL - 选择然后更新

    我有一个用 PHP 编写的脚本 其中有这一行可以正常工作以选择我需要的数据 result mysql query SELECT product name sku qty FROM supplier dropship items WHERE
  • iOS 屏幕截图部分

    我有一个应用程序使用以下代码截取 UIImageView 的屏幕截图 IBAction screenShot id sender UIGraphicsBeginImageContext sshot frame size self view
  • 等待池线程完成

    我很抱歉问了一个多余的问题 然而 我找到了许多解决我的问题的方法 但没有一个得到很好的解释 我希望在这里能说清楚 我的 C 应用程序的主线程使用线程池生成 1 n 个后台工作人员 我希望原始线程锁定 直到所有工作人员完成为止 我特别研究了
  • 两部分正态(或分裂正态)分布的密度

    两部分正态分布是否存在密度函数 在克兰上 我想在编写代码之前先检查一下 我检查了分发任务视图 它没有在那里列出 我查看了几个可能的软件包 但无济于事 更新 我已经添加了dsplitnorm psplitnorm qsplitnorm and
  • 打开 JavaScript 文件时 Visual Studio 2008 崩溃?

    每当我尝试打开特定的 JavaScript 文件时 Visual Studio Team system 2008 就会崩溃 但没有任何错误消息 我发现this http social msdn microsoft com Forums en
  • 在 django 中迁移数据的最佳方式是什么

    在我的模型中进行一些更改 例如模型中的新字段和新模型 后 将这些更改反映到我填充的数据库中的最佳方式是什么 PS 我想在一个地方看到许多解决方案的评级 显然已经列出了更多解决方案here https stackoverflow com qu
  • 是否使用任何未定义的不确定值或仅使用那些存储在具有自动存储的对象中的值?

    根据 C99 J 2 在以下情况下行为未定义 具有自动存储期限的对象的值在被使用时被使用 不定 那么对象具有不确定值的所有其他情况又如何呢 如果我们使用它们 我们是否也总是调用 UB 或者我们是否仅当它们包含陷阱表示时才调用 UB 示例包括
  • 当我单击单个标记时,React Google Map InfoWindow 显示所有信息

    由于某种原因 当我单击单个标记时 所有信息窗口都会显示 我希望当我单击一个标记时会出现一个信息窗口 有人可以解释为什么所有标记中的所有信息窗口都会显示吗 因此 当我关闭它时 InfoWindow 也会关闭 当我单击目标标记时 预期行为是 I
  • 开发 Android 应用程序时使用 Linux 操作系统重要吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我开始了 Android 开发 并意识到 Android 完全构建在 Linux 上 但我目前正在 Windows 上编程 我应该继续使用 Wi
  • 如何在 QTreeWidget 中找到所选项目?

    我有一个继承 QTreeWidget 的类 如何找到当前选定的行 通常我通过这种方式将信号连接到插槽 connect myButton SIGNAL triggered bool this SLOT myClick 但是 我找不到类似的东西