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 ()函数。
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 ()函数。
相关文章推荐
- QMenu,QT的菜单添加
- QMenu,QT的菜单添加
- Qt界面添加菜单,工具栏以及状态栏
- Qt界面添加菜单,工具栏以及状态栏
- Qt - Qt设计工具添加菜单和工具栏
- qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
- QT QButton to QMenu自定义菜单
- Qt 学习(6)在QT中添加右键菜单
- 在QT中添加右键菜单
- Qt自适应大小显示图片,添加菜单
- Qt:文件浏览器添加右击菜单实现重命名
- Qt自适应大小显示图片,添加菜单
- Qt 4.x实现QMenu菜单向上弹出菜单方法
- Qt添加右键菜单
- Qt在Mac OSX下的系统菜单添加
- 【Qt开发】Qt gui添加右键菜单事件
- [Qt] 在QTableWidget中添加右键菜单 [2013-06-17更新]
- Qt添加右键菜单
- QT的 QButton 添加ICO 以及添加菜单 Action
- Qt 中Treewidget添加右键菜单