#include "ilistwidget.h" #include #include 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"); }