ilistwidget.cpp 1.46 KB
#include "ilistwidget.h"
#include <QMenu>
#include <QMouseEvent>

ilistWidget::ilistWidget(QWidget *parent)
{
    popMenu = new QMenu(this);
    delAction = new QAction("Delete Chat", this);
    popMenu->addAction(delAction);
//    connect(popMenu,SIGNAL(triggered()), this, SLOT(test()));
    popMenu->setStyleSheet("QMenu{background-color: white;}"
                           "QMenu::item:selected {background-color: rgb(200,200,200);color: rgb(0,0,0);}");
}

void ilistWidget::contextMenuEvent(QContextMenuEvent *MenuEvent)
{
    if(this->itemAt(mapFromGlobal(QCursor::pos())) != NULL) //如果有item则添加"修改"菜单 [1]*
    {
        if(popMenu->exec(QCursor::pos()) == delAction) // 菜单出现的位置为当前鼠标的位置
            emit deleteItem(this->itemAt(mapFromGlobal(QCursor::pos())));
//        else
//            contextMenuEvent(MenuEvent);

    }
}
void ilistWidget::mousePressEvent(QMouseEvent *event)
{
   if(event->button() == Qt::LeftButton && this->itemAt(mapFromGlobal(QCursor::pos())) != NULL)
   {
       this->setCurrentItem(this->itemAt(mapFromGlobal(QCursor::pos())));
       emit itemCliLeftChanged();
//        qDebug("mousePressEvent::test --------- LeftButton\n");
   }
//   else if(event->button() == Qt::RightButton && this->itemAt(mapFromGlobal(QCursor::pos())) != NULL)
//   {
//       QContextMenuEvent *MenuEvent;
//       contextMenuEvent(MenuEvent);
//   }

}
void ilistWidget::test()
{
    qDebug("ilistWidget::test --------- 0\n");
}