问题标签 [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 回答
1541 浏览

pyqt - 重新排序 QTableView 时不遵循自定义委托

我正在使用自定义委托在 QTableView 中显示一列组合框。

除了默认选择问题(在此处输入链接描述)我在重新排序 QTableView 的数据(每列或通过应用过滤器)时遇到问题。未显示网格时,组合框保持在原来的位置。

有没有办法强制重新绘制代表?我复制了paint方法的代码(没有索引),但这只会导致我的程序崩溃。

如果我不够清楚,请告诉我。

这是我的自定义委托的代码:

我从我的 QTableView 类中调用它:

当我对列进行排序时(来自模型类),我调用 updateDelegate 函数:

0 投票
1 回答
192 浏览

c++ - 你如何使用表格模型

我了解核心概念,但是您如何使用 Qt 表模型?您将如何创建模型类并最终在数据更改时自动重新加载 QTableView。

0 投票
1 回答
8006 浏览

c++ - 我如何调用 dataChanged

以下是我添加的一个行类。它由代码调用,而不是由表调用,我希望它在添加新行时正确调用 dataChanged,虽然这不起作用,但表没有做任何事情。我究竟做错了什么?

0 投票
3 回答
2683 浏览

qt - 设计器中添加的 QTableView:不显示数据

我找到了如何使用的示例:http QTableView: //doc.trolltech.com/4.5/sql-querymodel.html 它工作正常。数据显示在 中QTableView

但是QTableView在这个例子中是在main.cpp文件中动态创建的。在我的应用程序中,我有主表单,并QTableView在设计器中添加。我尝试QTableView在构造函数中填充它但没有结果:

QTableView在主窗体上显示为空,只有列和行标题可见。并且没有显示数据。

有没有人知道一个站点,其中包含在设计器中添加诸如QTableView、之类的组件的示例QListView?在 trolltech (nokia) 教程中,所有组件都是动态创建的。

0 投票
2 回答
2619 浏览

qt - 单击表格单元格后,QtableView 中的某些单元格不会自动重绘

我在交互式棋盘游戏的实现中使用了 QTableView。图像将显示在表格的单元格中。我正在使用带有绘制函数的 QStyledItemDelegate 在表格单元格内绘制图像。

由于图像应仅在表格的某些单元格中显示并在用户单击表格单元格时更新,因此使用与表格具有相同尺寸的双整数数组。根据数组的值,画家应该在表格的特定单元格中绘制图像。最初,表格的 4 个单元格内只有 4 个图像,当用户单击表格中的一个单元格时,数组会更新,这意味着应该更改表格单元格内绘制和显示的内容。

通常,用户单击已成功更新的空(白色)单元格,并且特定图像会显示在单元格中。但是,如果存在其他包含图像且应更新的单元格,则不会显示更新,尽管更新了双整数数组。我还看到了一件奇怪的事情,那就是当我点击应该更新其显示的单元格时,就会发生更新。这当然会发生,无论当有人单击单元格时我如何更新。

我试图在重绘之前先擦除单元格内的内容,但它仍然无法正常工作。委托是否在线程中连续运行,并且使用表中每个单元格的索引调用画家函数?我不明白包含图像的单元格的更新如何不会自动更新,尽管画家应该重新绘制单元格的区域并且它仅在单击单元格后才会发生。还是每次都会调用一个新的painter到painter的函数?!

好吧,这是我对委托的画家功能的实现:

如果您需要解决我的问题,我可以为您提供更多信息。提前致谢。

0 投票
1 回答
4619 浏览

qt - 显示隐藏的 QTableView 列

我正在尝试做一些看起来应该很简单的事情,但我越是研究它,我就越想知道它是否是一个 Qt 错误。

所以,我有一个QTableView可以根据用户喜欢显示/隐藏的列。初始化表后,我调用了一个自定义方法来隐藏用户上次打开 GUI 时restoreColumns()隐藏的列(使用)。QTableView::hideColumn()

当用户试图显示上次运行 GUI 时被用户隐藏的列时,问题就出现了。适当的信号/插槽被调用并运行,但由于某种原因,QTableView它没有更新以显示该列。

奇怪的是,任何已经显示的列(上次运行 GUI 时没有被用户隐藏)都没有隐藏/显示的问题。

有什么想法吗?谢谢!


这是我初始化表的方式...

肉的 restoreColumns() 方法:

下面是一些示例代码来显示/隐藏其中一列。

它连接到一个QAction可以从 的菜单和上下文菜单访问QHeaderViewQTableView

0 投票
1 回答
5135 浏览

qt4 - 如何更改水平标题的高度(QTableWidget)

我有一个 QTableWidget,我想更改水平标题的大小。但是只有一个设置宽度的功能。但是如何改变高度?希望可以有人帮帮我。

0 投票
2 回答
1229 浏览

qt - 在 QTableView 列中显示 QAbstractListModel 项

我一直在玩弄Qt并遇到了一个小问题。

我想将图片列表显示为图标表。现在,我通过继承 QAbstractTableModel并将其插入QTableView的子类来做到这一点。

在我看来,这会使代码、模型和视图过于复杂(尤其是在尝试编辑/附加项目时)。当尝试将模型实现为QAbstractListModel时,项目将显示为表格行。

有没有办法让 QTableView 将项目显示为列?
编辑:使得项目从左到右呈现在单行中,并包装到新行。

还是在任何情况下都最好将表模型用于表视图并解决这些问题?

值得一提的是,我正在使用基于 Qt Jambi 的 Qt 的 C# 绑定。

0 投票
3 回答
5350 浏览

python - 带有一列图像的 QTableView

我有一个 QTableView 以网格的形式显示数据库的一些信息。其中一个字段是图像的路径,我想在我的表格中显示这些图像。

我和一个代表一起尝试了一些东西,但我对他们不太满意,而且我什么也做不了。我还尝试了角色:

这段代码的灵感来自我在另一个论坛上发现的东西,并且应该可以工作。但是它对我没有任何作用,只会减慢我的代码的执行速度。

知道为什么它不起作用吗?如果您有代表的示例,我也将不胜感激!

感谢您的关注

已解决:我让它与自定义委托一起工作。如果有人感兴趣,这是我的代码:

0 投票
1 回答
3660 浏览

qt - Qt QTableView 在活动单元格周围绘制边框

我正在尝试在 QTableView 中实现类似于 Excel 的行为,其中在整个当前选择周围绘制了一个边框。我已经尝试过这种感觉就像一百种不同的方法并且不断遇到问题。我可以很容易地绘制边框,但是只要选择更改,就会留下边框的残留物。这是我在 QTableView::paintEvent 中尝试过的一个示例...

该代码产生这样的结果

我会喜欢任何关于如何使这个运行更顺利的建议。我曾尝试在委托中执行此操作,但是委托需要知道所有选择的索引,并且它不能在 QTableView 绘制的网格线上绘制。另外,我的表格类需要知道边框的绘制位置。