问题标签 [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.
c++ - 如何更改 QTreeWidgetItem 的一部分的背景或文本颜色
我正在用 C++ 开发一个 Qt 应用程序。该应用程序以树小部件为中心,该小部件为系统中的每个实体都有一个子树。实体具有“突出显示”颜色,可以由用户指定并突出显示与特定实体相关的事件。实体根树项的背景颜色是实体的突出显示颜色。当发生与实体相关的事件时,我想让实体上匹配的标识符的背景颜色与实体的突出显示颜色相同。这是我正在尝试做的一个粗略的模型,伪 HTML 标签显示颜色和我想要它们的位置:
据我了解,QTreeWidgetItem 无法直接实现这一点。我知道我可以为树项提供一个委托来处理自定义绘画,但我并不精通 Qt 的 QStyle 部分。我们的客户将在 XP 和 Win7 上使用此应用程序,并且可能会或可能不会启用 WindowsClassic 样式。因此,处理所有 QStyle 可能性可能会变得非常复杂。是否有一个快捷方式,我可以让 QStyle 用我想要的背景颜色绘制我想要的文本部分,而不必处理树项目的每一个潜在的绘图需求?
qt - 如何在 QTreewidget 中获取 QPushbutton 的单击事件的行索引。
我在 QTreeWidget 的每一行都有 QPushbutton。我想在 QPushbutton 的点击事件上获取行的索引。我正在使用这个:
在这个点击事件上,我想获取点击按钮行的索引?谢谢,阿希什
list - 在 QtableWidget 列中添加项目列表
我尝试在我的 QtreeWidget 列中插入一个项目列表:每个数据都插入到每一列中,因此项目与列一样多。我正在使用 MVC 架构,但插入失败!
这是我的看法:
这是我的模型:
这是我的控制器:
有人可以帮我找出问题所在吗?
UDP日期
我改变了将项目列表添加到 QtreeWidget 的方式,这对我来说似乎更合乎逻辑
我的新观点:
但是现在我有一个 malloc_error_break 来调试,我认为这是因为我没有分配我的项目,但是在 python 中,我怎么能用我的项目列表做一个 QTreeWidgetItem *items= new QTreeWidgetItem() ?
c++ - 我想用迭代器的方式做一个循环,但是有错误
我有以下代码:
但是有一个错误:
conversion from 'QList<QTreeWidgetItem*>::iterator' to non-scalar type 'QList<QTreeWidgetItem>::iterator' requested
c++ - 需要解决哪个类以支持 Qt 应用程序和 finder 之间的拖放
我正在尝试构建一个应用程序,该应用程序列出了 Android 设备中的文件夹和文件以查找并能够从/复制到 PC。
我在 Browser.cpp 中完成了如下课程
和 browser.h 中的类为
Drag'n drop 正在树中工作 即使它不能正常工作,我也可以移动东西,因为我可以将文件拖放到文件上并创建一个子文件。通过文件,我只是指 TreeWidgetItem 不是真正的文件。这也是我需要添加的东西,但我不知道在哪里。
但我不知道如何处理 dran'ndrop。我需要能够控制树内部和外部的拖放以将文件从/复制到我的计算机。
看起来 :
永远不会被调用...即使拖放有效
知道如何处理事件和重载或自定义行为吗?
谢谢
qt - 任意选择的 QTreeWidgetItems 的样式悬停和选定颜色
我有一个QTreeWidget
并且我有一个样式表应用于它。我希望其中一些QTreeWidgetItem
s 具有与其他样式表样式项目不同hover
的selected
颜色。normal
我为状态着色,setData(columnNumber, Qt::ForegroundRole, colorName)
但我无法更改悬停和选定状态的颜色。
有谁知道是否有可能以Qt
某种方式实现这一目标?
谢谢!
c++ - QTreeWidget在C ++中从内存中扩展单个项目
我有一个 Qt QTreeWidget
,我正在尝试保存已扩展标题项目的状态,以便当我用新信息刷新树时,它可以重新扩展以前扩展的项目。
每次发出itemExpanded
or时itemCollapsed
signal
,我都会在 a 中捕获它slot
并保存到boolean
该特定项目的成员中,以表示 expand 是 nowtrue
还是false
. 这是我的记忆。
刷新树时,我使用完全清除树
接下来我使用折叠所有标题
现在我想恢复哪些项目已展开,并使用boolean
我拥有的每个项目将它们设置为展开,这表示该项目之前是使用展开还是折叠
我不太确定如何从我boolean
自己那里获取项目的索引。
我会认为
会给我我toplevelitem
在位置 0 的索引,然后使用boolean
与位置 0 关联的我,然后我可以决定是否扩展该项目?
这也不能解决我想要对代表树中每个项目的每个“布尔值”执行此操作的问题。
提前致谢。
qt - 在特定的 QTreeWidgetItem 上设置 QItemDelegate
是否可以设置QItemDelegate
一个特定的QTreeWidgetItem
?我需要QTreeWidgetItem
用特定颜色为一些 s 着色。
我认为这是可能的,QAbstractItemView::setItemDelegateForRow
但我不知道如何。我不能使用QAbstractItemView::setItemDelegateForRow
,因为我需要在QTreeWidget
.
有谁知道解决方案?
c++ - QList 语句
我正在使用 QTreeViewItem 和 QList。
我在我的 C++/Qt 应用程序中所做的是构建一个内部包含多个元素的 TreeView。
单击专用操作时,我正在检查树视图的哪个项目被选中并获取项目关联名称。这工作正常,但在采取任何行动之前,我需要知道我是否选择了某些东西。但是没有办法测试结果是 0 还是任何其他值。
我需要确保我没有管理未分配或未归档项目指针的操作。
c++ - QTreeWigetItem - 如何管理单击以直接更改项目文本的名称
我创建了一个 QTreeView,它由 QTreeWidgetItem 归档。我的应用程序是一种文件浏览器。
ViewTree 定义如下:
我添加了一个“添加文件夹”按钮,如下定义的操作:
// MyTree->edit(selectedItem());
如您所见,默认情况下,我在 mtp FS 系统上创建了一个“NewFolder”。
在创建文件夹之前我想做什么,我希望能够将“NewFolder”重命名为用户想要的。我不想创建一个弹出窗口来输入文本。我想要的是一种“重命名”行为。文件夹出现在树形视图中,新文件夹被选中并允许直接更改文本。就像在 Finder 上一样,当您单击文件夹名称时,它会被选中,并且用户可以在 Finder 中更改名称而不会弹出任何窗口
谢谢