问题标签 [qtreeview]
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.
qt - 需要有关 QTreeView 的 QAbstractItemModel 中节点的示例吗?
问题:我正在寻找有关创建模型(基于QAbstractItemModel
)的示例QTreeView
,但找不到健全的代码。Qt的例子都是基于的QStandardModel
,用处不大,复杂,网上的例子都是基于python的?!代码...其他信息无法给我正确的方向。所以,这就是我所拥有的:
std::map
typedef std::map< CompanyData, std::vector< ContractorData >, LessData< CompanyData >> 公司;
这是数据示例(CompanyName + ContractorsNames):
where *
表示 - 可扩展项(父项)
以及我需要它QTreeView
用上面的这些数据创建的所有东西!
任何人都可以帮忙吗?
非常感谢!
xml - Qt QTreeView 可编辑 DOM 模型
我有一个 QTreeView,我为其设置了一个子类 DomModel:QAbstractItemModel。每个项目都是一个 DomItem,主要处理 QDomNode。我将 QDomDocument 设置为此模型。我想我是从一个 Qt 示例中派生出这个系统的。
它有 3 列:0 表示节点名称,1 表示属性,2 表示值。
无论如何,我想让这个 XML DOM 树可编辑。我已经修改了一些标志,例如 Qt::ItemIsEditable 和模型类中的其他一些东西,现在我可以通过双击 QTreeView 来编辑模型。
对于第 2 列,这很容易,因为 QDomItem 有这个 setNodeValue 函数,但是我发现 item->node().NodeName() 和 item->node().attributes() 没有“设置”函数,我想,修改第 0 列和第 1 列。
所以现在当我修改第 2 列时它可以工作,但是第 0 列和第 1 列在按下回车后恢复到它们以前的值。
c++ - 在 QTreeView 中找到 QModelIndex 可见行的更简单方法
有没有办法获得给定的“视觉行” QModelIndex
?
假设我们有一棵树,其中一些节点展开,一些节点没有展开。例如,取一个部分展开的树并单击最后一项:
我想知道我点击的那个项目在第 5 行,以编程方式。QModelIndex
的行和列没有帮助,因为这里有层次结构。
qt4 - QTreeView 多列,可能吗?
我正在使用QStandardItemModel
a QTreeView
,我希望左窗格显示节点,右窗格显示节点的值,在本例中为第 0 列和第 1 列。
节点的构建非常成功,但是当我尝试使用 将值放入该模型时 QStandardItem::insertRow(1, XX)
,该项目根本没有出现,我错过了什么吗?
@更新:
由于我递归地创建节点,我使用:
我不能只使用model.setItem()
to append childValue
,因为它去了错误的 row ,并且 QTreeView 在添加新节点时默认不展开。
python - QTreeView 如何设置列宽?
请耐心等待,我还是 QT 的新手,并且无法理解它是如何做事的。
我创建并填充了包含两列的 QTreeView:
一切都很好,除了列非常窄。我希望 setColumnWidth(0, 800) 会加宽第一列,但它似乎没有任何效果。设置列宽的正确方法是什么?
python - PyQt4:在 QTreeView 中拖放
我用 PyQt4 制作了一个 UI。它有一个treeView,我想处理它。树视图由模型库组成。我在 .py 文件中创建一个数据并将其导入。所以,我可以在我的 treeView 中看到数据树。但是我不能拖放它,所以不能改变顺序。我参考了一些文章,因此将其添加到我的脚本中,但它们无法正常工作。我种植了一些“印刷品”,所以我追逐了我的问题。我发现当拖动一个项目时,它会传输到 MIME 数据。但是当它被丢弃时,我找不到任何输出。脚本似乎没有调用“dropMimeData”方法。如何修复我的脚本?
这里添加的脚本是ui创建(上面的脚本是在这个脚本中导入的)
和数据是
request - PyQT 和 QTreeView:当用户点击一个项目时需要询问孩子
我需要根据请求创建一个 QTreeView。
因此,当用户打开应用程序时,它应该请求获取树的根项。一旦用户单击该项目,它应该询问孩子,依此类推。
我找不到任何我想要的带有请求的工作示例,我什至不知道这是否可能。
pyqt - QTreeView:展开项目时显示“正在加载”消息
使用 PyQT 和 QTreeView,当用户展开项目时,我需要显示“正在加载”消息或“旋转轮”,因为通过发出 http 请求来检索子项。
关于如何实现这一点的任何想法?
谢谢
qtreeview - 如何在 QFileSystemModel 中添加自定义行?
我正在使用 QFileSystemModel 通过 QTreView 来表示文件结构。一切正常,但我需要在树的某个级别添加一个额外的行。例如现在是:
-根
--row1
--row2
--row3
所有这些行都从文件系统映射文件夹/文件。我需要:
-根
--row1
--row2
--row3
--自定义行
因此自定义行不代表来自文件系统的任何数据。我只需要在这里添加我自己的数据。我从互联网上阅读了很多东西,人们建议使用代理模型并重新实现 rowCount()、data() 和 flags() 函数。我试图这样做(使用从 QSortFilterProxyModel 派生的类),但我从来没有在 data() 和 flags() 函数中得到我的行。似乎它从源模型中计算出来。
使用从 QAbstractProxyModel 派生的类是不可接受的,因为我需要 QSortFilterProxyModel() 的过滤功能。
我还尝试重新实现 QFileSystemModel 的 rowCount() 以直接在模型中进行更改,但我从 QT 代码中收到“数组超出范围”错误。
我已经尝试过 insertRow() 方法,但它不起作用。我认为因为 QFileSystemModel 是只读的。
有人遇到过这个问题吗?有任何想法吗?
qt - QTreeView 中间列填充宽度空间而不是最后一列
如何做到这一点:
我已经尝试过这种方式:
但不起作用。