问题标签 [qtreewidgetitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5272 浏览

python - Python PYQT QTreeWidgetItem 选定单元格

我有这样的 QTreeWidget

在此处输入图像描述

我应该怎么做才能从选定的行和文件名列中获取值?

我有当前选定的项目

但是如何访问特定的单元格?

0 投票
1 回答
1119 浏览

c++ - 用于项目的 QTreeWidget

好。我正在开发一个 IDE。你们中的一些人可能看过有关它的帖子。好吧,我不知道 QTreeWidget 和 QtreeWidgetItem 是如何工作的,因为找不到演示并且文档没有帮助。好吧,我想做的是一个 IDE,您可以打开项目文件,然后将项目的所有文件包含到树中。(项目文件中的文件通过#include "filename" 包含在内)。我该怎么做?然后单击一个文件并在选项卡中打开它(这是另一个问题)。所以在这部分我只需要一个如何点击文件的例子。:)

0 投票
2 回答
2462 浏览

c++ - qt 4.7 removeChild() 和内存

我正在编写一个 c++ qt 应用程序。在一部分中,我正在创建一个 QTreeWidget。用户可以在该树中创建和删除条目。因此,当用户创建一个项目时,他将调用一个函数,然后该函数本身调用:

当用户稍后决定删除该条目时,他会调用一个函数,该函数本身将调用:

现在为我抹去的问题是:这个项目占用的内存呢?Qt 4.7 文档对 removeChild 的描述如下:

void QTreeWidgetItem::removeChild (QTreeWidgetItem * child) 移除由 child 指示的给定项目。被移除的项目不会被删除。

那么如何删除一个孩子呢?

提前非常感谢!唐尼

0 投票
2 回答
2632 浏览

pyqt - PyQt QTreeWidget“扩展”信号未被捕获

我刚刚开始为 Qt 应用程序维护一组嵌入式 Python 插件。我也是 PyQt 和 Python 的新手,所以请耐心等待。

我在一个对话框中有一个 QTreeWidget 的实现,其中“扩展”信号没有被相应的处理程序捕获。我有另一个对话框,它工作得很好。

在问题对话框中,我可以验证连接是否成功。

评估为真。当我单击子指示器以展开项目时,[+] 符号变为减号,但没有其他任何反应。同样,当我单击 [-] 时,它会切换回 [+]。在这两种情况下,我已将 ChildIndicatorPolicy 设置为最初将指标设置为 SHOW。

在正常工作的对话框中,当用户单击加号时,将执行“扩展”处理程序。只有指示器在单击时才会切换。

我的处理程序代码很简单:

我在日志记录调用中有一个断点,但从未到达该语句。

在失败的对话框中,我有另一个信号在上述信号之前立即连接,它工作得很好:

有什么东西可以防止扩展信号发射或被捕获吗?也许是另一个事件?我应该寻找什么?我意识到我的命名法可能有点偏离,我也欢迎在这方面进行任何更正。

0 投票
2 回答
2200 浏览

python - QTreeWidget 和 PyQt:从文件中保存和读回数据的方法

我正在开发一个包含QTreeWidget. 此小部件将具有带有子节点和/或其他兄弟节点的父节点。附加到每个节点将是一个唯一ID的整数和名称形式。

现在.....我可以或应该使用哪些方法将所有节点保存QTreeWidget到磁盘以及如何将它们读回??????

我要做的是遍历树并将每个节点保存到 sqlite 数据库中。我已经可以按照与树中完全相同的顺序执行此操作。但是......QTreeWidget及其相关QTreeWidgetItem对象没有可用于插入其他节点的 uniq 索引。

当我重建这棵树时,孩子们必须依附于他们的父母/祖先(那时他们已经存在于树中)。为此,我会跟踪ID已添加到树中的父母及其 s,例如parentID数组中的 (parent name, )。请注意,作为/parentID中的节点的位置与位置无关。它是由我自己创建的,并与节点名称一起存储在 sqlite db 中,就像某种标签一样,因为/不提供任何标签。QTreeWidgetWidgetItemQTreeWidgetQTreeWidgetItem

为了确定正确的父母我

  1. ParentIDsqlite DB 中获取,
  2. 搜索数组或QTreeWidget相同的ID
  3. 在 中选择该父级QTreeWidget
  4. 将 sqlite db 项目作为子节点添加到 treeview.

但是这种方式感觉很笨拙,因为每次添加节点时都会进行搜索,并且由于QTreeWidget/中缺少索引,WidgetItem我可以使用它来插入节点。

我知道这应该做得更优雅,资源更少。我不是在寻找确切的编码示例,而是更多地寻找使用 fromQTreeWidget和的方法和属性的想法和提示QTreeWidgetItem

有任何想法吗?

0 投票
1 回答
3646 浏览

c++ - QTreeWidget::currentItem 什么都没有选择时返回什么?

我是一名学生程序员,使用 Qt 开发 GUI 应用程序。我正在使用 QTreeWidget 来显示存储在向量中的一些属性。在同一个窗口中,我有编辑、复制和删除按钮。到目前为止,按钮可以完成他们需要做的事情;但是,当没有选择任何内容时,我遇到了问题。我的程序意外结束;我猜是段错误。我不认为我正在处理正确选择的 currentItem。然而, Qt 的文档并没有说明如果没有选择会返回什么。所以我希望有更多经验的人来帮助/启发我。如果您想在包含的代码之外看到某些内容,请询问。这是我的(相关)代码:

我尝试使用 qDebug 找出返回的内容,但我认为它在获取 itemToEdit 的值时遇到问题,因为它是一个 QwidgetTreeItem。请只留下富有成效的反馈,因为我只对学习和克服挑战感兴趣。提前致谢!

0 投票
1 回答
1658 浏览

c++ - QTreeWidget通过一个函数传递多个项目(多于一个选择)

我是一名学生程序员,使用 Qt 为工作构建 GUI。我遇到了一个问题;QTreeWidget 中的多个选择或多或少和不便。我的 GUI 有一个主界面,其中 QTreeWidget 作为该窗口的中心项目。在 QTreeWidget 下面我有几个按钮;复制、编辑和删除。正如您可能已经猜到的那样,这些按钮中的每一个都与执行命令的函数相关联。我的树小部件能够选择多个项目;however, when multiple items are selected the only item that is passed through is the last item that was selected. 我希望对这个 IDE 有更深入了解的人可以为我指明正确的方向来实现这一点。这是执行这些功能之一时所遵循的过程。

我不太确定哪些代码与进行此更改相关;因此,如果有任何人想查看的其他结构,请直接请求。我很确定我的问题或我的解决方案将在于我使用当前项目的方式。在查看 Qt 网站上的文档后,我仍然不确定如何更改它以允许通过该函数传递多个选择。请仅提供建设性反馈;我只对学习和完成解决方案感兴趣。提前致谢。

更新!解决了!!!只是认为展示一下实现的样子可能会很好:

0 投票
3 回答
564 浏览

qt - 为什么 QTreeWidget 的顶部有一个 1?

QtreeWidget 的顶部有一个 1。我如何解决它?

0 投票
3 回答
16231 浏览

c++ - 如何从 QTreeWidget 中删除顶级 QTreeWidgetItem?

如果顶级项目中没有子节点,我正在尝试删除顶级树小部件项目。这样做的正确方法是什么?我似乎在 Qt 的文档中找不到 API 调用。仅在顶级树小部件项目上调用 delete 是否安全?我还没有遇到任何问题,但我想知道这是否安全。非常感谢。

0 投票
5 回答
14535 浏览

c++ - 是否可以在切换 QTreeWidgetItem 复选框时创建信号?

我使用下面的代码创建了一个也是 QTreeWidgetItem 的复选框。


当此复选框的状态发生更改时,我需要一种连接信号和插槽的方法。我目前实现的方法如下,但不幸的是不起作用。有人可以解释我做错了什么以及我需要做什么才能使其连接吗?