QT【小结】1 - 右键菜单与菜单栏菜单

菜单栏-QMenuBar
菜单-QMenu 
右键菜单-ContextMenu 


1, 定义引发右键的信号-槽(菜单栏不需要这一步)
connect(右键对象, SIGNAL(), this, SLOT(slotXXX));
这里的信号可以是对象自己的信号,也可以是自定义的信号(customContextMenuRequested)
这里的槽是自定义的,里面需要存放QMenu对象的创建过程。


2,  定义并初始化QAction,这里你可以理解成右键菜单或者菜单栏菜单中的"项"
QAction * pAction1 = new QAction("1", this); 
connect(pAction1, SIGNAL(triggered()), this, SLOT(slotYYY));


3,  定义菜单显示项slotXXX(菜单栏的这一步在菜单栏添加菜单时定义)
QMenu * pMenu = new QMenu(this);
pMenu->addAction(XAction);
pMenu->exec(QPoint);//自定义信号:右键对象->mapToGlobal(QPoint);
//pMenu->popup(QPoint); //自定义信号:右键对象->mapToGlobal(QPoint);

QMenu * pMenu = menuBar()->addMenu("");
pMenu->addAction(XAction); 

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