使用QT实现右击菜单实例

来源:互联网 发布:无间道1细节知乎 编辑:程序博客网 时间:2024/06/05 11:01
1.首先用QT设计师实现一个继承于QWidget的UI,然后我们拖一个treeWidget控件到主窗体中,注意treeWidget还有一个属性要设置,contextMenuPolicy属性要设置为:CustomContextMenu。2.然后编写一个槽函数,设为slotShowTreeMenu()
void SeekerMainWindow::slotShowTreeMenu(){QMenu *treeMenu=new QMenu(ui->treeWidget);  QAction *delAction = new QAction(QStringLiteral("移除"), this);QAction *modAction = new QAction(QStringLiteral("重命名"), this);QAction *outputAction = new QAction(QStringLiteral("生成户型图"), this);treeMenu->addAction(delAction);treeMenu->addAction(modAction);treeMenu->addAction(outputAction);treeMenu->exec(QCursor::pos());}

3.在添加信号槽连接 
connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)),this, SLOT(slotShowTreeMenu()));

这样就可以简单实现右击菜单了。

0 0
原创粉丝点击