问题标签 [qabstracttablemodel]

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 回答
1486 浏览

python - 使用 Qt 和 Python 在 QTableView 中使用 QCompleter

我正在阅读如何使我的 QAbstractTableModel 可编辑,它看​​起来非常简单。

但是如何设置一个可编辑的单元格来使用 QCompleter?我以某种方式必须告诉 QTableView 使用 QLineEdit 小部件?我怎样才能做到这一点?


编辑:嗯,我猜它与QTableView.setItemDelegateForColumn()有一些关系,但我对代表或如何使用它们一无所知。


编辑:我尝试了 RobbieE 的解决方案,得到了一些可行的方法,但是当我按下 Enter 时,它使弹出组合框的几何形状错误并导致 Python 崩溃。

我的 _completerSetupFunction 看起来像这样:

0 投票
3 回答
1595 浏览

c++ - QTableView 检查字符串是否已经存在

我有一个程序将字符串放入带有模型/视图的 TableView 中。我的模型来自 QAbstractTableModel,我的视图来自 QTableView。它在我的模型中按名称排序setData()

现在我会检查我要添加的字符串是否已经存在于我的表中,当它存在时我不会添加它。我QTableWidget可以it这样做:

但是对于 QTableView 我不知道。我应该怎么办 ?

然后我的表中总是有复选框,但我从未添加它们。当我添加 1 时,它会使复选框自动变为蓝色。

这是一个指向方法的链接,它的工作方式非常奇怪:View::PushButtonClicked

0 投票
2 回答
1124 浏览

qt - 返回 QAbstractTableModel headerData 中的行号

我正在使用 QTableView 和 QAbstractTableModel。即使在过滤和排序之后,我也可以在垂直标题中获得有序的行号吗?

0 投票
1 回答
856 浏览

python - 如何在保留标头的同时使用空的二维数组初始化 QAbstractTableModel

我将用一个小例子来演示我的问题:

请注意,我__init__对 TaskModel 类有两行函数,第一行给出 [[" ", " ", " ", " "]] 作为 __task 的默认数据集,第二行给出 [[]]。

第一个工作正常:

在此处输入图像描述

除了有一个不需要的行坐在底部。

第二个__init__函数在尝试删除不需要的行时,使用 [[]] 作为默认数据集,但结果是灾难性的:

在此处输入图像描述

如何删除不需要的底行,同时仍使其正常工作(使用标题和所有内容)?

0 投票
1 回答
1939 浏览

python - PySide:将 QAbstractListModel 与 QListView 一起使用

我在 python 中对 QAbstractListModel 有一点问题。我正在尝试创建自己的模型。问题是视图不显示我的值列表。

运行此脚本后,我在列表视图中看不到任何内容。

0 投票
1 回答
5473 浏览

python - 如何从模型内部选择 QTableView 索引或行

发布的代码创建了一个Model/Proxy QTableView. 已为其启用了多选功能。

在此处输入图像描述

总共有四个项目。其中两个包括字符“A”。其他两个在其“项目”名称中包含字符“B”。

QPushButton按下时调用该clicked()方法。调用此方法时,首先查询Proxy Model连接到QTableView

然后该方法要求 aproxyModel返回总行数:

知道 a 的模型中有多少行,QTabelView它会迭代每一行。首先它是查询一个行索引:

知道它继续通过调用方法index来请求存储在变量中的值,并为它提供上一步中查询的 a (这里是变量)和标志。self.itemsdata()QModelIndexindexRole

'toPyObject()' 用于将从.data()方法接收到的数据转换为“常规”Python 变量。

最后它检查接收到的字符串中是否有字符“ B ”。如果是这样,它使用以下命令选择 QTableView 行:

现在我想要的是从代理模型的范围内获得相同的选择功能,filterAcceptsRow()如果可能的话。

如果不可能,我想知道是否有其他方法可以做到这一点……我应该使用QItemSelectionModel吗?那怎么办?

0 投票
0 回答
144 浏览

c++ - 使用正确的语言环境从 QSQLTableModel 获取 CSV

我正在尝试将填充了 QSQLTableModel 数据的 QTableView 转换为 CSV 文件。我当前的代码如下(实际上与此处发布的代码相似):

这完美地工作,除了区域设置不正确,即双打,日期等中的点/逗号。应用程序区域设置是正确的,但是,QTableView 正确显示所有内容。

有什么方法可以设置 QLocale 或在转换 QVariant::toString 时以某种方式使用它???

0 投票
2 回答
1515 浏览

python - 如何使用python隐藏QTableView中的复选框?

我对 python 和 Qt 都很陌生。我想使用QTableViewtableview 的单元格中出现的不带复选框,但似乎它们只是默认出现在那里。正如我到目前为止发现的那样,您只需停用该Qt.ItemIsUserCheckable标志。但是我该怎么做呢?我尝试以这种方式在派生模型类中使用QAbstractItemModel l的标志 - 函数:QAbstractTableModel

所以,我所做的是:只是不返回Qt.ItemIsUserCheckable标志。这适用于例如Qt.ItemIsEditable使单元格可编辑或不可编辑的标志(当它未返回时),但使用ItemIsUserCheckable标志执行此操作对复选框没有影响。所以我的问题是:我怎样才能摆脱使用 python 的复选框?请帮忙!

0 投票
2 回答
4122 浏览

qt - 带有自定义模型和大数据的 Qt5 QTreeView 滚动非常慢

我有需要在 QTreeView 中显示的自定义数据。我从 QAbstractTableModel 派生了我的模型,并自己实现了 rowCount()、columnCount()、data() 和 headerData()。该模型有一个本地 QList> 来支持它,并且定义了 data() 函数以从与 QModelIndex 参数中接收的行和列直接对应的列表列表中读取值。我遇到了两个问题。

首先是一个非常大的文件的加载速度非常慢,这是可以理解的。第二个是滚动动作非常缓慢,我不是很理解。事实证明,如果我拉下滚动手柄,GUI 会挂起大约 20 秒,然后弹回来。如果我将手柄拉下更远的距离,则挂起时间会相应增加。如果我将手柄一直拉到滚动条的底部,在等待应用程序再次响应后,我可以上下拉动手柄并获得更好的响应。

在我看来,QTreeView 只要求一小部分可用数据,但是当我将滚动句柄一直拉到滚动条的底部时,一旦应用程序再次响应,到那时它已经读取所有的数据。

有没有办法通过滚动大数据来获得响应更快的体验?我不介意预先等待更长的时间,所以像强制视图预先从模型中读取所有数据这样的事情就可以了。

我还认为我可以回到仅从 QAbstractItemView 派生并控制它如何请求和存储数据的方式,只允许存储查看的数据,以及查看数据之前和之后的条目缓冲区。这当然意味着我必须控制滚动条,因为句柄大小会指示少量数据,我希望它能够像用户一样查看他们正在处理的数据大小。如果我不需要的话,我真的不想去那里。

0 投票
1 回答
186 浏览

c++ - 如何通知模型/视图底层数据更改了表头?

我刚刚构建了一个TableModel基于QAbstractTableModel. 有效,但基础数据可以更改列和行的标题,我不知道如何通知模型和视图(以便视图刷新标题)。

如果我更改垂直标题(在数据中)然后插入一列(通过视图-> 模型),标题正在更新。我用beginInsertingX一些特殊的方式来强制更新?