Qt的listWidget如何添加右键菜单

发布网友

我来回答

1个回答

热心网友

不解释,自己看。
// myWidget is any QWidget-derived class
myWidget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(myWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&)));

void MyClass::ShowContextMenu(const QPoint& pos) // this is a slot
{
    // for most widgets
    QPoint globalPos = myWidget->mapToGlobal(pos);
    // for QAbstractScrollArea and derived classes you would use:    
    // QPoint globalPos = myWidget->viewport()->mapToGlobal(pos);    
    
    QMenu myMenu;    
    myMenu.addAction("Menu Item 1");    
    // ...    
    
    QAction* selectedItem = myMenu.exec(globalPos);    
    if (selectedItem)    
    {        
        // something was chosen, do stuff    
    }
    else    
    {        
        // nothing was chosen    
    }
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com