Qt - 几个QtableWidgets可以共享链接的项目

时间:2015-07-02 22:27:07

标签: c++ qt qtablewidget qtablewidgetitem

Qt几个tableWidgets共享链接的项目

嗨,在Qt我有一个QMainWindow - > centralWidget(QWidget) - > QtabWidget - >然后10个标签(QWidgets) - >每个最多有26个QtableWidgets:

Sample 1

Sample 2

这个想法是代替这个:

attached

有没有办法让我每次都可以用更少的代码为每个tableWidget添加一列。

当然,没有它,事实上我想知道是否有一种方法可以链接每个实际上是同一个项目的一些项目,但每个项目都会重复比如每个tableWidget中每行的播放器名称是相同的,所以如果用户在一个中编辑名称,它应该在每个tableWidget的同一行中更改它。

有没有办法以某种方式链接它们,或者它检查项目更改为信号的唯一方式。

我还想如果我按一个tableWidget中的列排序,那么每个tableWidget中行的新排列应该是相同的。

任何人都可以指出我正确的方向,我唯一的想法是使用ItemChanged的信号。难道没有更好的方法吗?

非常感谢你的时间。

1 个答案:

答案 0 :(得分:0)

如果你的表是相同的数据,你应该考虑让一些不错的模型视图控制器动作(在申请工作时也说很多,他们喜欢那;))

要执行此操作,您需要创建tablemodel。还有一个TableView小部件。这样,数据就会被共享,因此它只存在于一个地方。您的所有TableView只显示数据。您可以查看QSortedFilterProxy来过滤特定视图的数据(我从未使用过这个,所以不知道)。这样你就可以在某处获得playerModel,并且每个视图都有一个proxyModel,它只显示活动玩家。