QT:QTabelView + QSqlTableModel/QSqlQueryModel,Item无法拖拽的解决方法

QT:QTabelView + QSqlTableModel/QSqlQueryModel,Item无法拖拽的解决方法

创建继承类,父类为QSqlQueryModel,重载flags函数,然后给返回值加上 ItemIsDragEnabled 与 ItemIsDropEnabled属性。QSqlTableModel/QSqlQueryModel默认是从数据库查询数据,拖拽操作就涉及到数据库操作,QT默认不允许拖拽,可以通过以上方法实现。

示例:


Q_INVOKABLE Qt::ItemFlags QCookieSqlQueryModel::flags(const QModelIndex& index) const
{
return __super::flags(index) | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled;
}

当Item成为可拖拽之后,再实现自己的拖拽功能即可。拖拽功能的具体实现,请参考其他文档,此处不做引申。

 

转载请注明来源,谢谢。

有偿解决C++编程问题,承接项目定制开发;寻一份全职或兼职Windows C++开发工作。联系邮箱:[email protected]


老刀的技术日志 » QT:QTabelView + QSqlTableModel/QSqlQueryModel,Item无法拖拽的解决方法

发表评论