QListWidget实现右键菜单

1.生成槽函数

​ 在Qt Creator的UI设计器中右键QListWidget空间,选择”转到槽“,然后选择“customContextMenuRequested(Point)槽”。

1544007553662

2.更改contextMenuPolicy属性

​ 在QListWidget控件的属性栏内将contextMenuPolicy属性更改为CustomContextMenu。

1544007773652

3.编辑槽函数

​ 在源文件内找到生成的槽函数,添加一下代码:

	QMenu* popMenu=new QMenu(this);
    QAction* addMusic=new QAction("添加音乐",this);
    QAction* addFolder=new QAction("添加音乐文件夹",this);
    popMenu->addAction(addMusic);//在菜单中添加Action
    popMenu->addAction(addFolder);

 	connect(addMusic,SIGNAL(triggered()),this,SLOT(on_actionMusic_triggered()));//连接槽函数
    connect(addFolder,SIGNAL(triggered()),this,SLOT(on_actionDir_triggered()));

    popMenu->exec(QCursor::pos());//菜单出现在鼠标位置

    delete popMenu;
    delete addMusic;
    delete addFolder;