- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
默认情况下,QAbstractTableModel
类有一个 mimeData()
函数,该函数返回一个 QMimeData
对象,该对象的数据集为编码 QModelIndexList
(参见 here)。我想在重载的 dropMimeData()
函数中解压缩此数据,但不知道如何将此 QMimeData
转换回 QModelIndexList。
我尝试了显而易见的:
bool myTableModel::dropMimeData(const QMimeData * mimeData, Qt::DropAction action, int row, int column, const QModelIndex & parent)
{
QStringList formats = mimeData->formats();
QByteArray encodedData = mimeData->data(formats[0]);
QDataStream stream(&encodedData, QIODevice::ReadOnly);
QModelIndexList list;
stream >> index;
}
但出现错误:
no match for ‘operator>>’ in ‘stream >> ((myTableModel*)this)->QAbstractTableModel::index’
因为 QModelIndex 没有 >> 运算符。
注意:这个问题是 this one 的一个更加集中的版本.抱歉,如果这违反了礼仪,我是新来的。
最佳答案
明白了,感谢旧问题链接上的 Kaleb Peterson:
bool ObjectAnimation::dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent)
{
QStringList formats = data->formats();
QByteArray encodedData = data->data(formats[0]);
QDataStream stream(&encodedData, QIODevice::ReadOnly);
int row, column;
stream >> row >> column;
qDebug() << "row: " << row << " column:" << column;
return false;
}
关于c++ - Qt4:从 QAbstractTableModel 中读取默认的 mimeData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2151216/
我本质上是在重复 PyQt: Getting file name for file dropped in app 的评论中提出(但没有回答)的问题。 。 我希望能够做的就是转换 pyqt 中文件删除事
默认情况下,QAbstractTableModel 类有一个 mimeData() 函数,该函数返回一个 QMimeData 对象,该对象的数据集为编码 QModelIndexList(参见 here
所以这是交易,我正在尝试获取剪贴板图像(任何格式),我正在尝试的方法要么返回 NULL,要么像这样返回图像的文本格式路径 我用谷歌搜索过,也在 reddit 上问过,但我不知道发生了什么。 所以有我试
最近我用 Ruby 和 Qt 编写了一个小应用程序。这是我使用 qtruby 的第一个重要项目。一段时间后,我设法将 C++ 引用和教程翻译成可工作的 Ruby 代码,并且掌握了窍门。 仅当在 QTr
我是一名优秀的程序员,十分优秀!