- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我用 Ruby 和 Qt 编写了一个小应用程序。这是我使用 qtruby 的第一个重要项目。一段时间后,我设法将 C++ 引用和教程翻译成可工作的 Ruby 代码,并且掌握了窍门。
仅当在 QTreeView
中实现我自己的拖放功能时小部件,我真的被卡住了。我可以将问题隔离到 Qt::AbstractItemModel::mimeData
方法。在消除了一些其他错误后,我最终得到了以下代码,不知何故导致应用程序出现 崩溃 一旦发生拖动 Action 。
class TreeModel < Qt::AbstractItemModel
def mimeData(indexlist)
encodedData = Qt::ByteArray.new("")
stream = Qt::DataStream.new(encodedData, Qt::IODevice::WriteOnly)
indexlist.each do |index|
if index.column == 0
if index.isValid
stream << index.item.mime_data.to_json
end
end
end
mimeData = Qt::MimeData.new
mimeData.setData("application/x-tegi.json", encodedData)
mimeData
end
end
QApplication::exec
内部。 .
最佳答案
mimeData
的 C++ 原型(prototype)是 :
QMimeData * QAbstractItemModel::mimeData
( const QModelIndexList & indexes ) const [virtual]
QMimeData
的指针。目的。我的
mimeData
的实现是
返回指向局部变量的指针 .因此,非确定性崩溃。
mimeData
:
@mimeData = Qt::MimeData.new
@mimeData.setData("application/x-tegi.json", encodedData)
@mimeData
end
super
并将构造和解构留给父类(super class)。这也继承了默认的 mime 数据(“application/x-qabstractitemmodeldatalist”):
mimeData = super
mimeData.setData("application/x-tegi.json", encodedData)
mimeData
end
uchar
指针,但没有关于函数返回指向 Qt 对象的指针的消息。被 qtruby 无缝地来回包装数据类型所迷惑,我看了很多遍那个小星号却没有发现它。
关于ruby - Qt::AbstractItemModel::mimeData 中的 Qt/Ruby 应用程序崩溃 - 如何查找并修复原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771752/
我本质上是在重复 PyQt: Getting file name for file dropped in app 的评论中提出(但没有回答)的问题。 。 我希望能够做的就是转换 pyqt 中文件删除事
默认情况下,QAbstractTableModel 类有一个 mimeData() 函数,该函数返回一个 QMimeData 对象,该对象的数据集为编码 QModelIndexList(参见 here
所以这是交易,我正在尝试获取剪贴板图像(任何格式),我正在尝试的方法要么返回 NULL,要么像这样返回图像的文本格式路径 我用谷歌搜索过,也在 reddit 上问过,但我不知道发生了什么。 所以有我试
最近我用 Ruby 和 Qt 编写了一个小应用程序。这是我使用 qtruby 的第一个重要项目。一段时间后,我设法将 C++ 引用和教程翻译成可工作的 Ruby 代码,并且掌握了窍门。 仅当在 QTr
我是一名优秀的程序员,十分优秀!