说明它不对//咱们这个列表是没有父级的if(parent.isValid())returnQModelIndex();//有效索引不是咱们想要的,返回无效索引//如果索引无效,说明是顶层数据,是咱们想要的returncreateIndex(row, column);
要自定义只读的tablemodel的话,需要重新实现rowCount(),columnCount()和data()这三个函数。 createIndex() 用于创建并返回一个model index flags()被model用于表示可以对数据执行的操作(例如,是否可编辑),从QAbstractTableModel继承而来的默认实现是返回Qt::ItemSelectable |Qt::ItemIsEnabled qDeleteALl()对一个含...
上面的两个函数都使用 createIndex() 工厂函数来生成索引供其他组件使用。模型为此函数提供一些唯一标识符是正常的,以确保模型索引可以在以后与其对应的项目重新关联。 9.6、拖放支持和 MIME 类型处理 模型/视图类支持拖放操作,提供足以满足许多应用程序的默认行为。也可以自定义项目在拖放操作期间的编码方式,默认情况下是...
QModelIndex MItemModel::index(introw,intcolumn,constQModelIndex &parent)const{returncreateIndex(row, column, nullptr); }intMItemModel::rowCount(constQModelIndex &parent)const{returndatas.size(); }intMItemModel::columnCount(constQModelIndex &parent)const{ auto maxv=std::max_element(datas.begin(),...
QModelIndex transposedIndex = createIndex(index.column(), index.row()); emit dataChanged(index, index); emit dataChanged(transposedIndex, transposedIndex); returntrue; } returnfalse; } Qt::ItemFlags CityModel::flags(constQModelIndex &index)const ...
return createIndex(nParentRow, 0, (void *)pParentItem); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 模型类必须实现rowCount虚函数 int MyTreeItemModel::rowCount(const QModelIndex &parent /*= QModelIndex()*/) const ...
voidMyModel::slot_updateTime(){QModelIndex topLeft=createIndex(0,0);emitdataChanged(topLeft,topLeft);} 将具体的Cell信息发送出去即可。 ② DisplayRole属性设置 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 int row=index.row();int col=index.column();if(role==Qt::DisplayRole){if(...
voidtreeView::slot_createDirectory(){QModelIndex index=mp_treeView->currentIndex();if(!index.isValid())return;QString dirName=QInputDialog::getText(this,tr("Create Directory"),tr("Directory name"));if(!dirName.isEmpty()){if(!mp_dirModel->mkdir(index,dirName).isValid())QMessageBox::...
//创建数据库连接 if(!createConnection()) return 1;//返回情况可以替换,视不同情况而定 //指定某个数据库连接 QSqlDatabase db2 = QSqlDatabase::database("connection1"); 1. 2. 3. 4. 开始对数据进行操作: 首先创建QSqlQuery 对象,然后进行操作。 QSqlQuery query2(db2); 1. 进行创表和插入值: ...
createEditor(self, parent, option,index):editor=QComboBox(parent)editor.setFrame(False)editor.setEditable(self.__isEditable)editor.addItems(self.__itemList)return editordef setEditorData(self, editor, index):model=index.model()text=model.data(index, Qt.ItemDataRole.EditRole)editor.setCurrentText...