问题标签 [qtreewidget]

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 回答
3646 浏览

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

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

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

0 投票
2 回答
30174 浏览

c++ - 如何将 QTreeWidget 中的列大小调整为所需的最小空间

我是一名学生程序员,我正在使用 Qt 构建一个用于工作的 GUI 界面。我有一个QTreeWidget共有8列。需要输入到这些列中的每一列的输入相当小。在这方面,我试图找到一种方法将所有列的大小重新调整为所需的最少空间。很像单击分隔线时执行的操作。我查看了几个网站和 Qt 文档,但没有找到解决方案。查看文档后,似乎有很多方法可以做到这一点,但我无法让其中一种工作。我开始认为我需要在某处启用/禁用某些东西。就好像我在构建函数中写入的更改(此函数清除表;从我的向量中读取数据,在表中显示某些数据,然后假设重新调整标题/列的大小以适应列的内容)甚至不应用。我已经尝试了以下没有更改:

所有这些都在我的构建函数的末尾(删除了不相关的信息):

请只留下富有成效的反馈,因为我只对学习和克服这一挑战感兴趣。提前致谢!

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 投票
2 回答
273 浏览

c++ - QTreeWidget;在 QTree 中选择多个项目时禁用 ui 功能

我是一名学生程序员,我正在使用 Qt 构建一个 GUI 来工作,我遇到了各种各样的问题。在我的主界面中,我有一个保存数据的 QTreeWidget。同样在这个 GUI 中,我有按钮编辑、复制和删除,它们已经透视地连接到功能。我希望在选择多个项目时禁用编辑按钮。这是我遇到问题的地方。我认为最好的方法(我再次是学生)将是某种类型的连接语句,但我一直在查看此小部件的 Qt 文档,但找不到任何似乎适合此的东西。我希望有经验的人能够为此提供一些指导。

我想知道我是否应该/可以使用

如果我可以使用这个信号,请说明一下,因为我在这里打了一个空白,因为我不知道从哪里开始将它与被选中的多个项目联系起来。

0 投票
3 回答
5619 浏览

c++ - 动态生成的 QTreeWidget 中依赖父级的 QTreeWidgetItem 复选框

我正在编写一个具有 QTreeWidget 的应用程序,该应用程序通过解析包含树级别的 XML 文件来填充。如果我选择一个顶级复选框,我还需要检查所有子级别的复选框。

我已经让 XML 解析器工作并使用带有复选框的 QTreeWidgetItems 填充 QTreeWidget,但它们只能单独检查。

0 投票
2 回答
885 浏览

python - PyQT 崩溃(底层 C/C++ 对象已被删除)“后”清除 QTreeWidget

我尝试为 QTreeWidget 构建实时搜索,这意味着我有一个 QLineEdit,当我输入时,我将过滤 QTreeWidget 中显示的结果。

目前我用 QTreeWidget.findItems() 得到“仍然显示的项目”

后来我清除了QTreeWidget(mainForm.ui.treeShips)

然后我想添加“仍然显示的项目”

但随后程序因“基础 C/C++ 对象已被删除”错误而崩溃

我的第一个想法是,通过清除 treeShips,foundItems 的内容也被清除了导致 foundItems 的对象( print(foundItems) )和 treeShips 的对象具有相同的地址,并且当程序想要使用此列表时,它碰撞。

有人知道如何解决它,或者有更好的想法来应用这样的“搜索过滤器”吗?

(我希望我能正确描述我的问题:))

谢谢和最好的问候

0 投票
1 回答
1021 浏览

c++ - 子类化 QTreeWidget 时出错

我在尝试继承 QTreeWidget 时遇到一个神秘错误。以下是相关文件中的代码。在 QtDesigner 中,我将 QTreeWidget 提升为 treeWidget,但出现以下错误:

错误 1 ​​错误 C2061:语法错误:标识符 'treeWidget' Visual Studio 2010\Projects\hw2\QTOpenGL\GeneratedFiles\ui_opengldemo.h 72 1 QTOpenGL

我被告知不要编辑 ui_ 文件中的代码,所以我假设这个问题可以在不进入那里的情况下解决。有任何想法吗?下面的代码是否提供了足够的信息来解决这个问题?谢谢。

0 投票
1 回答
2555 浏览

qt - Qt QTreeWidget 上下文菜单:在另一个下添加项目或删除项目。

我设法创建了一个右键单击 QTreeWidget 树的每个项目后激活的上下文菜单:

我的意图是在树中的另一个项下添加新项目,或者通过使用此上下文菜单右键单击特定项目来删除它们。

但是,我不确定如何从处理程序中准确了解右键单击树的哪个项目。

你能给我一个线索吗?

提前致谢!

0 投票
3 回答
16231 浏览

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

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