c++ - 如何检索 QTreeWidget 中特定项目的 mimeData?
问题描述
我正在尝试以编程方式将项目“拖放”到QTableWidget
usingQTableWidget::dropMimeData().
我知道我要删除哪个项目,并且我知道它QTreeWidget
有一个QTreeWidget::mimeData()
功能,但我不能使用该mimeData()
功能,因为它受到保护。
基本上,我怎样才能“选择”一个 QTreeWidgetItem,打包它的 mimeData,然后以编程方式将该项目“拖放”到 QTableWidget 上(没有实际的鼠标拖放)?
谢谢你。
至于实际代码:
假设我有一个具有 3 个“级别”的 QTreeWidget
QTreeWidgetItem *item = ui->treeWidget->child(i)->child(j)->child(k);
给我我的 QTreeWidgetItem。
现在假设我想以item
编程方式放到我的 QTableWidget 上。
我需要使用QTableWidget::dropMimeData(row,col,mimeData,action)
(对吗?)
那么我如何从item
(从正常拖动中自动打包)获取 mimeData,以便我可以将它放入函数调用中dropMimeData
?
解决方案
这样做的方法是在 drop 事件中
void MyWidget::dropEvent(QDropEvent* e)
{
const QMimeData* mimeData = e->mimeData();
...
推荐阅读
- websphere - WMB HTTP 输入节点超时
- javascript - 如何获得两个不可变地图之间的差异?
- python - 如何检查 for 循环中的特定值然后结束它?
- reactjs - redux/redux-observable 错误:动作必须是普通对象
- windows - 努力在 Windows 上构建 Gitea
- c++ - Ownerdraw 按钮的悬停效果
- python - 在嵌套的for循环中将值存储在不同的变量中
- javascript - 访问对象需要setTimeout?
- javascript - 如何从 upbit.com 网站提取数据
- numpy - 由于 numpy 问题,无法从控制台启动 tensorboard