问题标签 [qstandarditemmodel]
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++ - 在 QStandardItemModel/QTreeView 中操作数据?
在我的项目中,我解析一个数据文件并根据该文件创建一个 QStandardItemModel,然后将其显示在 QTreeView 中。模型创建得很好,我知道如何在创建每个 QStandardItem 时为其设置某些参数。例如,我知道如何设置显示文本和图标。有没有一种方法可以创建“自定义容器”来在每个项目中存储“额外”数据?
从数据文件中读取并将其解析为我(相信)我可以做得很好的模型。然而,用户需要能够从 QTreeView 中编辑/操作模型。这包括添加和删除项目。这看起来很简单,但是,与该项目关联的一些数据不会显示在 QTreeView 中。在用户尝试编辑它之前,它有点……“隐藏”。用户需要双击一个项目来打开一个对话框,他们可以在其中编辑一大堆其他参数和数据(就像很长的字符串和东西,我不能只在 QTreeView 中显示的东西)。
我在试图找到一种方法来存储与树中每个项目有关的所有“额外数据”时遇到了很大的困难。最初,脑海中会浮现出各种各样的 QVector,但是在操纵模型的同时也操纵 QVector 是一种我无法理解的技术。
更糟糕的是,用户需要能够在不同的数据文件(又名模型)之间切换,同时仍保留对先前数据文件所做的任何编辑。
有任何想法吗?如果您有任何问题,请不要犹豫。我可以尽可能地澄清。:) 谢谢你的时间。
c++ - 标准项目模型 Qt
我认为模型可以共享多个视图,那么为什么我们将小部件传递给 QStandardItemModel 构造函数?
python - 从文件路径列表中填充 QTreeView
这个问题之前有人问过:
但似乎没有得到回应。
我有一个格式化的文件路径数据集,如下所示:
我正试图让他们填满一个 QTreeView (PySide)。我拥有的当前代码就是这样,带有一个简单的递归函数:
但是,因为我找不到任何方法来查看现有行的 QStandardItem,所以我在 UI 中得到了这个结果:
有没有办法在 QStandardItem 中查找重复行或遍历 QStandardItemModel 以找到现有的 QStandardItem?在过去的两天里,我一直在努力解决这个问题并试图找到一个现有的例子,但我真的无法理解这怎么可能是一个如此复杂的问题......
对此的任何帮助/建议将不胜感激!谢谢!
python - 如何用值填充 QListView 并显示数据?
我正在做一个包含 QListView 的表单。它使用以下代码从数据库中填充:
我的 QListView 被命名为 listUser 并且 SELECT_USERS_ACCOUNTS() 函数返回由 select id,name from table_user 创建的数据,我也需要存储 row[0] (table_user 中的 id 列),因为当用户单击一个项目进入 QListView 时。我想捕获这个 ID。提前致谢。
python-2.7 - 如何使用双击事件获取 pyqt qtreeview 项目子项?
我正在使用 PyQt4 和 python 2.7.9。我有一个包含来自 Oracle 数据库的数据的 QTreeView。代码是这样的:
SELECT_TREE_ALBUM(codus是专辑所有者的id)和SELECT_TREE_PHOTO是从数据库返回数据的函数。rowalb 1是专辑的名字,rowalb[0]是ID,rowalb[0]用来获取此相册的照片。图片显示此视图:
我想使用双击事件获取 childItem 数据(例如 1491475964461012、1491475821127693、1491475631127712、1491475141127761 或 1480407552234520)。我试图将这些代码放入构造函数中:
之后我添加了功能:
但有时我会看到 nodeItem 信息(例如“terror”或“fotos de perfil”)和其他一些我收到此错误:“AttributeError: 'NoneType' object has no attribute 'data'”。可能是什么问题?是填写 qtreeview 的问题吗?还是使用索引时双击事件功能的问题?请帮我。提前致谢。
qt - 实现树时将哪些参数传递给 beginInsertRows()。
我对 canFetch() 和 fetchMore() 函数有疑问。我正在实现树结构,当我滚动到最后时 canfetch() 将被调用,如果返回 true fetchMore() 将被调用,我们必须在其中获取数据并将项目插入树中。
请让我知道在 beginInsertRows 中,我们需要指定哪些数字,这让我很困惑..
我现在已经获取了一些数据,从顶部开始我有 5 个孩子,然后是 10 个父母,每个父母有 10 个孩子。(f_parent 父母已经有 5 个孩子)
现在我需要再插入 5 个孩子,然后是 10 个父母。
现在我需要在 beginInsertRows() 中准确指定哪些数字。
- beginInsertRows(f_parent,5,f_parent.row()+10); ?
- beginInsertRows(f_parent,f_parent.row(),f_parent.row()+10); ?
- beginInsertRows(f_parent,5,10); ?
qt - 从 QStandardItemModel 为 QTableView 获取项目
我有一个QTreeView
其中每个节点代表一个数据对象。我设法将指向此数据对象的指针打包到 aQVariant
中,以便我知道在树中选择了哪个。currentIndex()
我可以通过函数访问节点。
树的根在QStandardItemModel::invisibleRootItem()
。其他节点由父节点appendRow
功能添加。所以项目没有row
,column
我可以在QStandardItemModel::item()
.
有没有办法给节点有效坐标或检索没有坐标的项目。
qt5 - QTree / QStandardItemModel 中的多个列
我的项目需要您的宝贵知识;)我需要制作一棵至少有 3 列的树。我所拥有的是一个“操作”列表,如下所示:
“动作”列表 (pListActions) 如下所示:
我可以用我的代码生成相应的树:
如您所见,我只有第一列,但我需要其他列。我尝试过使用 setItem 方法,但我不知道如何找到正确的行……事实上,我需要将一行的所有内容“链接”在一起;如果我插入一个新行,我想保持 ID 和相应的 ident/text 之间的链接。
我生成树的代码(第一列):
我想要的最终结果是:
qt - qtreeview 的信号是什么改变了
有一个从 JSON 文件中获取的字典,由QTreeView
QStandardItemModel
.
用户可以重新组织QTreeView
(添加、删除、拖放)和重命名项目。
目标是:调用读取 changedQTreeView
的函数,制作字典并将其写入初始 JSON 文件。
我可以通过QPushButton
在更改发生后按 a 或将该函数绑定到每个更改来做到这一点,例如删除项目时调用函数、添加项目时调用函数、重命名项目时调用函数等等。
如果发生任何变化,有什么方法可以调用函数吗?是否存在与所有提到的变化相对应的信号?
selection - PySide QTreeView:打印选中项的名称
我正在尝试从 QTreeView 中获取所选项目的字符串。
我从这里的PAGE和 Qt 文档中获取了一些提示来尝试解决这个问题,但我没有取得任何进展。想法?
这是一个示例代码。我想这样做,所以如果我单击第 1 行,它将打印出“第 1 页”