C++ Qt删除文件| mac os

C++ Qt删除文件| mac os,c++,qt,drag-and-drop,qmainwindow,qtgui,C++,Qt,Drag And Drop,Qmainwindow,Qtgui,我已经做了很多搜索(引导我到和),并在我的类中添加了几行 MainWindow.cpp #包括 #包括 #包括 #包括 #包括 主窗口::主窗口(QWidget*父窗口): QMainWindow(父窗口) { .... setAcceptDrops(真); } void主窗口::dragEnterEvent(QDragEnterEvent*事件) { 事件->AcceptProposeAction(); } void主窗口::dropEvent(QDropEvent*事件) { qDebug(

我已经做了很多搜索(引导我到和),并在我的类中添加了几行

MainWindow.cpp
#包括
#包括
#包括
#包括
#包括
主窗口::主窗口(QWidget*父窗口):
QMainWindow(父窗口)
{
....
setAcceptDrops(真);
}
void主窗口::dragEnterEvent(QDragEnterEvent*事件)
{
事件->AcceptProposeAction();
}
void主窗口::dropEvent(QDropEvent*事件)
{
qDebug()mimeData();
如果(mimeData->hasURL())
{
QStringList路径列表;
QList urlist=mimeData->url();
对于(int i=0;iAcceptProposeAction();
}
}
void主窗口::dragMoveEvent(QDragMoveEvent*事件)
{
事件->AcceptProposeAction();
}
void主窗口::dragLeaveEvent(QDragLeaveEvent*事件)
{
事件->接受();
}
但是我不能将文件放到我的主窗口(从finder)。并不是我的代码崩溃或无法编译,只是我确实不能。
主窗口没有反应,没有突出显示,什么也没有


我错过了什么

我怀疑您也应该重载dragMoveEvent:-

void QWidget::dragMoveEvent(QDragMoveEvent * event)
正如文件所述:-

如果正在进行拖动,并且出现以下任何情况时,将调用此事件处理程序:光标进入此小部件,光标在此小部件内移动,或者在该小部件具有焦点时按下键盘上的修改器键。事件在事件参数中传递


这里有一个Qt拖放的示例。特别是,这是一个很好的参考。

我怀疑您也应该重载dragMoveEvent:-

void QWidget::dragMoveEvent(QDragMoveEvent * event)
正如文件所述:-

如果正在进行拖动,并且出现以下任何情况时,将调用此事件处理程序:光标进入此小部件,光标在此小部件内移动,或者在该小部件具有焦点时按下键盘上的修改器键。事件在事件参数中传递


这里有一个Qt拖放的示例。这是一个很好的参考。

什么不起作用?您刚刚添加了dragMoveEvent吗?您是否也接受对事件的建议操作?我接受建议操作,但仍无法在主窗口中放置文件您是否同时接受对enter和move事件的建议操作?您能否更改您的问题以表示您现在拥有的内容?您还需要添加dragLeave事件。添加后,仍然无法删除文件什么不起作用?您刚刚添加了dragMoveEvent吗?您是否也接受对事件的建议操作?我接受建议操作,但仍无法在主窗口中放置文件您是否同时接受对enter和move事件的建议操作?您能否更改您的问题以表示您现在拥有的内容?您还需要添加dragLeave事件。添加后,仍然无法删除文件可能重复的可能重复的