问题标签 [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 投票
2 回答
3600 浏览

qt - 如何在事件中设置自定义数据,如拖放?

我有一个列表小部件和一个树小部件。我希望 listwidgetitems 能够通过拖放在 listwidget 内移动,并且我还希望 listwidget 接受从 treewidget 中拖放的项目,但在此之前,我想对数据进行一些处理。

我现在可以做所有这些事情,但我不知道如何从树小部件开始将自定义数据设置为拖动事件。

例如,我的 treewidget 中有一个 topLevelItem,带有文本“Add DrawEffect”和一个 QIcon,当我在 listwidget 中拖放时,我想向 listwidget 添加一个新项目,说:

并不是

我应该在什么时候设置这些数据?

到目前为止,这是我的代码,在 listwidget 中拖放 listwidgetitems 时工作得很好,它适用于在 listwidget 中拖放 qtreewidgetitems,但它按原样复制它们,而我想在添加它们之前进行进一步处理:

在我的 treewidget 的构造函数中:

在我的列表小部件的构造函数中:

重新实现listwidget的dropEvent:

如您所见,我可以区分 treewidget 和 listwidget 项目,但我不知道在此之后该怎么做......

我想这样的事情就可以了:

谢谢 :/

0 投票
1 回答
645 浏览

qt - Qt treewidget排序顶级项目

我很难重载QTreeWidgetItem's<运算符。

我有一个列表QTreeWidgetItems,一些顶级项目和一些孩子。当用户激活“创建日期”列对树进行排序时,排序发生在子级别。

换句话说,想象一棵这样的树:

当日期列被激活以升序排序时,我希望返回结果是:项目 A,然后是项目 B......但是,排序发生在项目的第一个修改日期。我返回的是项目 B,然后是项目 A。即使顶级项目都没有展开或处于活动状态。

0 投票
1 回答
219 浏览

c++ - 如何在 QTreeWidgetItem 的坐标处弹出菜单?

在 QT 中:我创建了一个 QMenu:

我想把它弹出到当前的treewidgetitem之上,但我只知道:

所以如果我使用:

菜单将在鼠标单击的 pos 的 pos 上弹出,而不是在该项目上。这看起来很向导:(如何在当前项目的坐标处弹出菜单?

0 投票
1 回答
10646 浏览

pyqt4 - 开发 pyqt4 树小部件

我需要写一棵树吗?,在 pyqt 中。它看起来像这样:

你会为此推荐什么?QTreeWidget? QTreeView? 这将是我将用于构建 sql 查询的可点击项目。
谢谢阅读。

0 投票
1 回答
3057 浏览

qt - 我可以像 QCheckbox 一样对 QTreeWidgetItem 进行风格化吗?

我可以像 QCheckbox 一样对 QTreeWidgetItem 进行风格化吗?

对于我的复选框样式是:

QTreeWidgetItem 的风格是什么?我在文档中找不到它:(

谢谢!

0 投票
1 回答
1754 浏览

qt - 当点击 QTreeWidget 的复选框时,currentItemChanged 信号不会被触发

单击非叶子项目的复选框时,QTreeWidget 未按预期工作。我的 QTreeWidget 有两个级别的子级,可以检查树小部件中的每个项目(每个项目都启用了复选框)。在这个 QTreeWidget 中,叶项是用户可选择的,但非叶项是不可选择的,并且所有项都已启用并且用户可以检查。

叶项目标志设置

非叶子项目标志设置

当我们直接点击叶子项目的关联复选框时,Qt 正在生成 currentItemChanged() 信号。但是,当我们直接单击非叶子项目的关联复选框时,不会生成 currentItemChanged() 信号。这给非叶子物品的处理带来了不便。

它在 Qt 4.7.4 中运行良好,但在 Qt 4.8.1 中并不能在所有平台(Windows、Darwin 和 Linux)上运行。

我附上了一个示例程序来重现这个错误。

这是错误还是预期行为?

我在 Qt 4.8 的所有平台(Linux CentOS、Windows 7 和 MacOS)上都注意到了这个错误。

0 投票
1 回答
241 浏览

c++ - QTreeWdiget 在特定位置添加子元素

我正在尝试以一种可以在我想要的位置插入元素的方式构建一棵树。这是我的初始阶段的树:

现在,假设我制作了一个 1.1 版,我想将它添加到 beetweenVersion 1.0Version 2.0. 喜欢:

我尝试使用 insertChild ( http://doc.qt.digia.com/4.7-snapshot/qtreewidgetitem.html#insertChild ) 添加它,但该项目没有在树中创建。这是代码:

但是树中没有插入任何东西......知道我做错了什么吗?

0 投票
4 回答
14759 浏览

python - 如何删除 QTreeWidgetItem

有几个网页说可以通过delete或ingQTreeWidgetItem删除。QTreeWidget.clear但是我下面的代码示例似乎没有这样做。我做错什么了吗?

打印为:

在我看来TreeWidgetItemChild,进程终止时会被删除,而不是我的任何删除操作。

0 投票
1 回答
1288 浏览

qt - QTreeWidget(为项目应用样式)

我有一个树小部件,树中有三个级别,如下所示

我想为项目应用不同的样式,具体取决于它们的级别,以便我可以不同地设置 LEVEL1、LEVEL2 和 LEVEL3 的样式。我可以用两级树来做到这一点。请帮忙。我想在 CSS 级别实现这一点(不接触代码)

我经历了以下文件。我想区分 LEVEL1 和 LEVEL2 是困难的部分。

http://doc.qt.digia.com/main-snapshot/stylesheet-examples.html#customizing-qtreeview

0 投票
2 回答
1375 浏览

python - QTreeWidget 双击展开动画

我创建了一个QTreeWidget并将动画设置为 true ( setAnimated(true))。当我单击项目左侧的标记(三角形)时,它会平滑扩展,但是当我双击项目时,它会扩展得太快(几乎就像没有设置“动画”标志一样)。我也想要双击时流畅的动画。我怎么解决这个问题?

QTreeViewQTreeViewPrivate::expandOrCollapseItemAtPos在标记单击和双击时调用QTreeViewPrivate::expand,因此我无法访问这些方法。

我正在使用 PySide 来创建 Qt 应用程序(但我已经尝试过 C++ 并且问题是一样的)。