Qt5 右键菜单
来源:互联网 发布:淘宝主图怎么优化 编辑:程序博客网 时间:2024/06/01 03:59
类成员:
创建右键菜单,连接槽函数:QMenu *m_pRBMenu;QAction *m_pCloseAct;QAction *m_pMaxiMinimizeAct;QMenu *m_pSDMenu;QAction *m_pSoundOffAct;QAction *m_pSoundOnAct;
/* 创建右键菜单 */void Clock::createMenu(){m_pRBMenu = new QMenu(this);m_pCloseAct = new QAction(this);m_pCloseAct->setIcon( QIcon(":/ico/closeBt.ico") );m_pCloseAct->setText( tr("关闭") );m_pMaxiMinimizeAct = new QAction(this);m_pMaxiMinimizeAct->setText( tr("全屏") );m_pMaxiMinimizeAct->setIcon( QIcon(":/ico/fullscreen.ico") );m_pRBMenu->addAction(m_pCloseAct);m_pRBMenu->addSeparator();m_pRBMenu->addAction(m_pMaxiMinimizeAct);connect (m_pCloseAct, SIGNAL(triggered(bool)), this, SLOT(close()) );connect( m_pMaxiMinimizeAct, SIGNAL(triggered(bool)),this, SLOT( slot_showMaxiNormal() ) );/* 二级菜单 */m_pRBMenu->addSeparator();m_pSDMenu = m_pRBMenu->addMenu( QIcon(":/ico/sound.ico"), tr("音效控制") );m_pSoundOnAct = new QAction(this);m_pSoundOnAct->setText( tr("音效开") );m_pSoundOnAct->setIcon( QIcon(":/ico/nocheck.ico") );m_pSoundOffAct = new QAction(this);m_pSoundOffAct->setText( tr("音效关") );m_pSoundOffAct->setIcon( QIcon(":/ico/check.ico") );m_pSDMenu->addAction(m_pSoundOnAct);m_pSDMenu->addAction(m_pSoundOffAct);connect (m_pSoundOnAct, SIGNAL(triggered(bool)),this, SLOT( slot_EffectControl() ) );connect( m_pSoundOffAct, SIGNAL(triggered(bool)),this, SLOT( slot_EffectControl() ) );}
右键菜单响应:
/* 重写右键菜单响应事件 */void Clock::contextMenuEvent(QContextMenuEvent *event){m_pRBMenu->exec(QCursor::pos()); // 在光标处弹出右键菜单event->accept();}
阅读全文