我使用QTableView
与QAbstaractTableModel
派生的表模型结合使用。现在我想插入行/列(表示状态/输入字符)但我需要将一个字符串作为标签(然后在HeaderView中显示)传递给状态/输入字符到我的数据类。
bool TransTableModel::insertRows(int position, int rows, const QModelIndex &index)
{
beginInsertRows(index, position, position+rows-1);
garage->addUsedState("q6");
endInsertRows();
}
TransTableModel
是我的自定义模型。我的问题:如何从用户获取此字符串?在这种情况下,我硬编码"q6"
作为标签,但我需要这是用户提供的。有办法吗?我应该打开输入对话框吗?从模型类?
答案 0 :(得分:1)
如果模型需要该数据,则应该由视图提供,然后可以打开输入对话框。
您可以向模型添加成员函数以传递该额外参数并从视图类调用它而不是调用“常规”insertRows
(您无需调用insertRows
这个新功能,只有beginInsertRows
和endInsertRows
)。