ilistwidget.cpp
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#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");
}