问题标签 [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.
python - 同步的 Qt TreeWidgets
我是 Python 和 PyQt 的新手。保持 4 个 QtTreeWidgets 同步以使项目以及所有项目的所有属性相同的最佳方法是什么?这些小部件在会话期间的不同时间出现在不同的对话框中。出于多种原因,我需要尽可能多地保持现有代码、信号和布局的完整性。模型/视图部门显然是第一个去的地方,但我不想触及任何用于访问或更新树的方法。我计划在几个月内重构整个东西,但在那之前我需要一些快速的东西来支撑我。
由于每个 QTreeWidget 都是一个便利类,因此每个都有自己的数据。UI 在 Qt Designer 中维护,我不想保持这种状态。
当每个对话框被初始化时,树就会出现。该应用程序有一个单例类,所有对话框都可以使用它来引用其变量/属性。
在每个父对话框的初始化中,我不能检查单例中是否存在“locationTree”属性。如果没有,我需要用它的初始状态填充它,并让对话框中的树使用它或它的副本。每当对话树的状态以我可以捕获的方式更改时,我想更新单例“locationTree”以反映更改。虽然QTreeWidgetItem上有一个clone方法,但是我没有看到整个QTreeWidget对应的方法。
如何通过对现有代码库和 GUI 布局的最少更改来实现这一点?
约翰
python - 暂时抑制 PyQt 事件?
我正在填充 QTreeWidget 的一个分支,然后将分支父级上的扩展属性设置为 true。itemExpanded 信号作为响应触发,这不是我想要的。在一段代码期间是否有一种临时的方法来抑制或吸收信号?
qt - 如何替换 Qt 树小部件中的元素?
我有一个包含 QTreeWidget 的 Qt 应用程序。我想更换其中一项。
我有一个指针:
和一个返回 a 的函数QTreeWidgetItem*
。
我想在同一个地方用这个新元素覆盖前一个元素。如果我删除前一个元素并在其后插入新元素,则新项目将放置在树的底部。
我应该如何继续让新分支完全替换以前的分支?
编辑例如
......
现在我有一个指向其中一个辣椒的指针。(让我们 sa 级别 1)我想用另一个替换它。例如,我想用孩子“4”替换孩子“2”,但我希望将它放在 f child 2 的位置。
python - 在 PyQt 中使用拖放重新排序 QTreeWidget 中的项目
我有一个 QTreeWidget ,其中包含我认为所有正确设置的设置,以便能够通过拖动项目来重新排序项目。它有时可以工作,但通常我将一个项目拖到另一个项目中,它要么消失,要么变成一个孩子。
有没有办法防止这种情况发生,这样您就不会丢失要重新订购的物品?我想你可以在 Qt Designer 中实现这一点。我将dragDrop模式设置为InternalMove 并将defaultDropAction设置为MoveAction,但我什至不确定这两个是否是我需要调整的。
提前致谢!
python - 将外部文件放入 QTreeWidget
我想 QTreeWidget 的实现并不完全相同,但我希望能够将外部文件,特别是图像或电影文件放入我的 QTreeWidget。我不是想把它拖到一个特定的 QTreeWidgetItem 中,而是整个树。这是我的代码:
正在调用dragEnterEvent,但没有调用dropEvent,我得到了“阻止”图标。任何想法为什么?
select - QTreeWidget 的禁用复选框
有谁知道如何在 QTreeWidgetItem 中制作一个不可编辑的复选框但保持 QTreeWidgetItem 可选择?
python - 如何阻止 QTreeWidget 移动滚动位置?
我有一个带有一堆 QTreeWidgetItems 的 QTreeWidget。每个项目都有几列。当其中一列比小部件的宽度宽时,底部会有一个滚动条。当我单击比小部件更宽的列内的 QTreeWidgetItem 时,QTreeWidget 将自动滚动以尝试在小部件中获取尽可能多的列。我不希望这种情况发生。我该如何关闭它?
qt - 如何绘制不同风格的 QTreeWidgetItem?
这是主要问题:我使用QTreeWidget
类作为主树,它必须向我展示这个树结构:
使用 Qt Designer
,我设置了这个样式表代码:
以及使用 *row_back.png* 背景图像绘制的所有项目,但我需要为[Today]和[Yesterday]行绘制另一个背景图像!出于这些目的,我继承了QStyledItemDelegate
类,但不知道将样式重置为新背景图像的方法:
有什么帮助吗?
谢谢!
c++ - QTreeWidget 自动改变行高
将文件加载到我的 QTreeWidget 后,行数增长高于 bevor。
我怎样才能避免这种行为?
这是我的应用程序:
底部的 QTreeWidget 与上面的设置相同。
这是一个csv文件的加载函数:
以我的 csv 文件中的一个缩短的行为例:
我将 csv 文件中第三个字段的所有数据连接起来。
我希望所有数据的顺序相同,所以我从 distanceTable 中获取 GameId,然后插入 csv 文件中的数据。
提前致谢!
托拜厄斯
c++ - QTreeWidget 选中点击编辑并双击
我有一个 QTreeWidget,我想双击打开一个特定的东西,然后单击开始重命名该项目,但我不希望在双击时同时发生这两个操作。现在,当我双击我的树项目时,我可以加载我的东西,并且该项目处于重命名状态。
我正在使用以下语句来设置我的 QTreeWidget:
当我双击它时,我可以做些什么来防止该项目进入重命名/编辑状态,因为我只希望我的自定义加载操作发生,但是当我单击一个元素时仍然保持原位编辑那个树?