问题标签 [qtableview]

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 投票
1 回答
5971 浏览

c++ - 如何使我的 QAbstractTableModel 与我的数据存储保持同步?

在我的应用程序中,我有一个用于保存项目列表的类:

项目操作函数(添加、更新、删除)在完成时发出相应的信号(项目添加、更改、删​​除)。我有一个此类数据库的列表和一个用于显示其内容的 QTableView。我还有一个自定义的 QAbstractTableModel 派生模型类的对象,可以在需要时指向(并显示)不同的数据库:

我在使模型反映对其当前数据库的更改时遇到问题。以前,我通过每次在数据库中发生更改(由从数据库到 DatabaseModel 的信号触发)时发出模型重置来使其工作,但我认为这太过分了。现在我不知道如何正确连接数据库和模型。

将数据库信号连接到模型并使模型发出 dataChanged() 不起作用,因为数据库中的项目数(以及模型的行数)正在发生变化。QAbstractTableModel 中有称为 rowsInserted() 和 rowsRemoved() 的信号,但文档说它们不能在自定义类中使用。有要重新实现的虚函数称为 removeRows() 和 insertRows(),但文档说我必须在其中调用 begin(Remove|Insert)Rows() 和 end(Remove|Insert)Rows(),这会导致两个问题:

  1. begin...Rows() 需要一个 QModelIndex 'parent' 参数,我不知道该使用什么
    编辑:实际上没关系,现在我为此传递 QModelIndex() 。QAbstractTreeModel 使用它来识别树中的父节点,显然对于表模型来说不是必需的。
  2. 文档说在更改底层数据存储之前需要调用这些函数

如何使模型与数据库保持同步?谢谢!

0 投票
3 回答
2605 浏览

c++ - QTableView 的 selectedItems 中选定行/行的顺序

我正在使用 QTableWidget 并想将一些单元格复制到剪贴板。似乎 QTableWidget 只支持 selectedItems 方法。出于某种原因,我将输出作为第一列,然后是第二列。不是:第一行,然后是第二行。这使得分离列/行变得有些困难。你知道出了什么问题吗?谢谢!

构建时:

有任何想法吗?谢谢!

0 投票
1 回答
2603 浏览

qt - PyQt QTableView 与 QComboBox

我正在显示来自带有QTableView. 我希望将字段显示为组合框,以便用户可以轻松修改它们。我阅读了很多关于自定义委托项目和标志必须设置为的内容IsUserCheckable,但我不明白所有这些应该如何工作。我用标志和角色尝试了几件事,但完全没有效果,所以我确实缺少一些重要的东西

我真的很感激这个的工作代码示例,或者如果有人手头有一个很好的解释,或者至少有一些很好的解释:)

0 投票
1 回答
1407 浏览

qt - QTableView 的行问题

大家好,我是 QT 的新手,我正在做 Qtableview 以将 3 列中的信息添加到无限行,例如

这就是我想要插入/追加行的方式,但这就是我在插入/追加行功能之后得到的方式。

我得到了空白并增加了列数

我正在使用QStandardItemmodel模型这是创建模型项的代码

qlineedit enter1_edit,enter2_edit & enter3_edit使用(在其他函数/方法中)添加行中的值

main_tableview是对象qtableview

谢谢你帮助我!

0 投票
3 回答
90874 浏览

qt - 如何在 QTableView 中获取选定的行

在看了很多关于获取选定行号的线程之后,我真的很困惑。

您如何QTableView使用QStandardItemModel我在下面使用的选择模型和行为获得 ROW 编号

如果你有自己的选择方式,你能解释一下它是如何工作的。谢谢您的帮助!

0 投票
0 回答
2161 浏览

combobox - 带有组合框的 QTableView

我希望我的 QTableView 有一列组合框。经过多次尝试,我已经达到了我的目标:显示组合框。

现在我的问题是他们不会保持所选项目的显示。

我使用自定义委托来执行此操作,以下是相关代码:

类 ComboBoxDelegate(QtGui.QItemDelegate):

感谢您的关注 !

0 投票
1 回答
1599 浏览

pyqt - selectionModel() 的 QTableView 问题

我对 QTableView.selectionModel() 的调用有问题。我在另一个类中实例化我的 QTableView,然后当我打开一个新项目并需要填写我的视图时,我调用一个函数 fillGrid(),在其中我获取数据等。这也是我调用 selectionModel() 方法的地方。

我第一次调用它时一切顺利。但是,如果我尝试在程序的同一实例中再次调用它,则会出现以下错误:

TypeError:“QItemSelectionModel”对象不可调用

我的函数 fillGrid 看起来像:

知道为什么会这样吗?提前致谢

0 投票
1 回答
3655 浏览

combobox - 来自 QTableView 的自定义委托中的组合框的选定项

我使用自定义委托在 QTableView 中显示一列组合框。所有组合框的值都相同,因此给我带来麻烦的并不是人口部分。

我希望它们显示为选定的项目,我可以从数据库中检索一些值。我可以从委托访问数据库,但为了发送我的请求,我需要组合框的行。

所以我想我的问题是:如何遍历表的所有行并从自定义委托内部执行一些操作?

如果它可以帮助这里是我的自定义委托类:

我从 QTableView 中这样称呼它:

希望我足够清楚,感谢您的关注

0 投票
1 回答
178 浏览

c++ - 是否存在在 QTableView 顶部显示文本行的方法?

我需要如下图所示的东西,但我找不到使用 Qt 4.3.3 的方法......

在此处输入图像描述

0 投票
1 回答
1183 浏览

python - PyQt 表格视图和对多个选定单元格的编辑

我一直在研究一个简单的 tableview 模型,当我想编辑多个单元格时遇到了一个绊脚石。具体来说,我需要能够更改我的单元格复选框上的检查状态。当我选择多个单元格并切换复选框时,只有单击的单元格会更新其复选框。任何帮助都会很棒。谢谢