您的位置:首页 > 编程语言 > Qt开发

QMenu,QT的菜单添加

2012-03-23 16:16 369 查看
添加菜单方法1

m_pMenuBar= new QMenuBar(this);

QMenu*pFileMenu = new QMenu("&文件",m_pMenuBar);

QMenu*pOpenMenu = new QMenu("打开", pFileMenu);

QMenu*pCreateMenu = new QMenu("创建", pFileMenu);

QAction*pOpenAction = pFileMenu->addMenu(pOpenMenu);

QAction*pCreateAction = pFileMenu->addMenu(pCreateMenu);

connect(pOpenAction, SIGNAL(triggered()),this, SLOT(openFile()));



通过addMenu()添加起来的菜单是含有打开的箭头,并且不connect到信号和槽

添加菜单方法2

m_pMenuBar= new QMenuBar(this);

QMenu*pFileMenu = new QMenu("&文件",m_pMenuBar);

QAction*pOpenAction = pFileMenu->addAction("打开");

QAction*pCreateAction = pFileMenu->addAction("创建");



通过addAction只添加QAction*,不再会含有子菜单的展开箭头,并且可以connect消息和槽

。。。。

总结:猜测,菜单要有响应添加的是QAction*,并不是QMemu,当需要有子菜单的时候才会用addMenu ()函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: