qt 自定义菜单QMENU


   // menu->addAction(QString::fromLocal8Bit("编辑联系人"));

    QWidgetAction * modifyItem = new QWidgetAction(menu);
    modifyItem->setText(QString::fromLocal8Bit("编辑联系人"));
    modifyItem->setIcon(QIcon(":/Yunshixun/Resources/modify-normal.png"));
    menu->addAction(modifyItem);
    QWidgetAction * deleteItem = new QWidgetAction(menu);
    deleteItem->setText(QString::fromLocal8Bit("删除辑联系人"));
    deleteItem->setIcon(QIcon(":/Yunshixun/Resources/delete-off.png"));
    menu->addAction(deleteItem);
    menu->exec(QCursor::pos());

//第二种方式

    QAction modifyItem(QString::fromLocal8Bit("编辑联系人"), this);
    QAction deleteItem(QString::fromLocal8Bit("删除联系人"), this);    
    modifyItem.setIcon(QIcon(":/Yunshixun/Resources/modify-normal.png"));
    deleteItem.setIcon(QIcon(":/Yunshixun/Resources/delete-off.png"));

    connect(&modifyItem, SIGNAL(triggered()), this, SLOT(modifyItem()));
    connect(&deleteItem, SIGNAL(triggered()), this, SLOT(deleteItem()));
    menu->addAction(&modifyItem);
    menu->addAction(&deleteItem);
    menu->exec(QCursor::pos());  //在当前鼠标位置显示

你可能感兴趣的:(qt,QMenu)