谢谢各位的回复。例子我都看过了。
demo里面拖图片和托list item那两个例子都是widget之间的拖放,而且可以试一下,list item那个例子它也不能接受外界拖拽过来的数据。demo里面只有dropsite这个例子是接受外部数据的,但是它用的QLabel,这个类跟QListWidget,QTableWidget这些不一样,api里连那几个虚函数都没有。俺总觉得那几个虚函数很诡异……
你们可以试一下,写一个QTableWidget的子类,然后构造里accpetDrop(true),重写dragEnterEvent,dropEvent,肯定接受不了外界数据,就像下面这个,你把基类从QTableWidget改成QLabel就可以,但是用QTableWidget,QListWidget这些就不行
DropTableWidget::DropTableWidget(QWidget *parent)
: QTableWidget(parent)
{
setAcceptDrops(true);
}
void DropTableWidget::dragEnterEvent( QDragEnterEvent *event)
{
if( event->mimeData()->hasFormat("text/plain"))
{
event->acceptProposedAction();
}
}
void DropTableWidget::dropEvent( QDropEvent *event)
{
//TODO:
}