Qt:如何在QTableView中添加行?

10
我有一个带有数据的QTableView。添加一行最简单的方法是什么?
谢谢!
2个回答

12

如果您使用 YourModel 将其显示在 YourTableView(QTableView)中,则应按以下方式操作:

YourModel->insertRow(YourModel->rowCount(QModelIndex()));
// paste some data to new row

模型的更新会导致视图的更新。


如果我有一个矩阵作为成员属性,在其中调用“Reshape”方法(例如,将3x3矩阵扩展到4x4,其维度由2个QLineEdit组件设置),并自动将此更改反映到视图中会怎样? n次调用“insertRow()”不是一个选择。 - Alberto Schiabel
请看一下。请注意我没有Qt的先前经验,但我对C ++有一定的经验。 https://gist.github.com/jkomyno/73b13e3091b7ff0b7207fd6bc1af6a95 - Alberto Schiabel
抱歉,第一次没有听清楚。从QStandardItemModel继承 - 这样你的模型setRowCount、setColomnCount将会起作用。 - AlexBee
开始插入行:beginInsertRows(); 插入行操作:insertRows(...); 结束插入行:endInsertRows(); - AlexBee

-3

如果您不知道什么是模型,那么我建议您阅读这里,QTableView是基于模型的。

对于初学者来说,使用QTableWidget会更容易,您可以像这样添加一行。

ui->tableWidget->insertRow(0);

7
糟糕的回答。它甚至没有回答原始问题。 - Shoe
@alphalamco 发布一个更好的,我相信原帖的作者会标记它。虽然我不能删除这个答案。 - opc0de
1
不要回答,无论是初学者还是高级者,只需给出答案,然后提供建议...谢谢 - Vtik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接