void SomeClass::moveColumnToFront(int column, QTableView *table) {
// I assume that you are using QStandardItemModel
QStandardItemModel *model = qobject_cast<QStandardItemModel *>(table->model());
if (model) {
QList<QStandardItem *> columndData = model->takeColumn(column);
model->insertColumn(0, columndData);
}
}
你应该学会搜索文档!是的,可以使用
QAbstractItemModel
API来完成。但请记住,型号必须支持此功能(
QStandardItemModel
呢)!如果您使用某种自定义模型,则可能无法正常工作。
void SomeClass::moveColumnToFront(int column, QTableView *table) {
bool success = table->model()->moveColumn(QModelIndex(), column,
QModelIndex(), 0);
}
是否有任何方式使用QAbstractItemModel来代替? – thnkwthprtls 2015-02-11 16:26:29