Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 鼠标悬停时突出显示树梢的项目_C++_Qt_Drag And Drop_Qtreewidgetitem - Fatal编程技术网

C++ 鼠标悬停时突出显示树梢的项目

C++ 鼠标悬停时突出显示树梢的项目,c++,qt,drag-and-drop,qtreewidgetitem,C++,Qt,Drag And Drop,Qtreewidgetitem,我有一个支持拖放的应用程序 我试图在拖放操作中突出显示一个项目。在拖放文件之前,我想突出显示目标项 void TreeView::dragMoveEvent(QDragMoveEvent * event) { qDebug() << "On Drag Move Event"; const QMimeData* mimeData = event->mimeData(); event->setDropAction(Qt::CopyAction);

我有一个支持拖放的应用程序

我试图在拖放操作中突出显示一个项目。在拖放文件之前,我想突出显示目标项

void TreeView::dragMoveEvent(QDragMoveEvent * event)
{
    qDebug() << "On Drag Move Event";
    const QMimeData* mimeData = event->mimeData();

    event->setDropAction(Qt::CopyAction);

    if (mimeData->hasUrls())
    {
        QTreeWidgetItem *item = itemAt(event->pos());
        if(item) {
            qDebug() << "itemat: " << item->text(0);
            setStyleSheet(QString::fromUtf8("QTreeWidget::item:hover {\n"
                                              "background-color: rgb(123, 45, 67);\n"
                                             "}"));
        }
        event->setDropAction(Qt::CopyAction);
        event->acceptProposedAction();
    }
    else
        event->ignore();

//    dropSite = event->answerRect();
  //  event->acceptProposedAction();
}
void TreeView::dragmovevent(qdragmovevent*event)
{
qDebug()mimeData();
事件->setDropAction(Qt::CopyAction);
如果(mimeData->hasURL())
{
QTreeWidgetItem*item=itemAt(事件->位置());
如果(项目){
qDebug()setDropAction(Qt::CopyAction);
事件->AcceptProposeAction();
}
其他的
事件->忽略();
//dropSite=event->answerRect();
//事件->AcceptProposeAction();
}
有趣的是,它突出显示了项目,但之后..这就像DnD允许设置模型,并在他为整体行为保留该模型之后。我期待在DnD期间突出显示,但在正常使用期间没有。正常使用,我的意思是,只要让鼠标越过任何文件到DnD

DnD需要突出显示(内容通过clich选择并移动到项目中/从项目中移动)

我还有3列,但只有第1列中的项目突出显示

当前代码将突出显示项目,但在DnD之后,即使在dragMoveEvent中完成,也不会在期间

有什么想法吗