1. 创建菜单!
需要头文件
QMenu
QAction
QMenu *m_mainMenu;
QMenu *m_addMenu;
QAction *m_addAction;
QAction *m_delAction;
void TreeWidget::createMenu()
{
menu = new QMenu();
m_addMenu = new QMenu("添加");
m_addAction = new QAction(tr("添加XX"));
m_delAction = new QAction(tr("删除"));
m_addMenu->addAction(m_addAction);//把选项添加进addmenu
menu->addMenu(m_addMenu);
menu->addAction(m_delAction); //成果为一个菜单中,一个添加,一个删除,添加菜单中有添加选项
}
menu.exec(); //显示menu窗口
2.右键弹出菜单!
重写contextMenuEvent函数
void contextMenuEvent(QContextMenuEvent *event)
{
if(ui->treeWidget->hasFocus()){
//此处的ui->treeWidget为一个控件,此处的做法为判断控件当前是否获得焦点
menu->move(cursor().pos());//此处为将menu移动到鼠标当前位置
menu->show();
}
}