QT中利用QAction增加菜单项
来源:互联网 发布:实体经济下滑数据 编辑:程序博客网 时间:2024/05/16 01:55
在图形用户界面应用程序中很多命令可以通过菜单选项、工具条按钮和键盘快捷键调用。因为同一个操作将会被执行,而与它的调用方法无关,并且因为菜单和工具条必须保持同步,所以提供一个操作这样的命令很有用。一个操作可以被添加到菜单和工具条中并且将会自动使它们同步。例如,如果用户按下“加粗”工具条按钮,“加粗”菜单项将会自动被选中。
QAction可以包含图标、菜单文本、快捷键、状态条文本、这是什么文本和工具提示。它们可以分别通过setIconSet()、setText()、setMenuText()、setToolTip()、setStatusTip()、setWhatsThis()和setAccel()来设置。
操作可以是一个切换操作,例如,一个“加粗”工具条按钮,或者一个命令操作,例如“打开文件”来调用打开文件对话框。当切换操作的状态改变了,它发射toggled()信号。当命令操作和切换按钮被调用时,它们都发射activated()信号。使用setToggleAction()来设置操作的切换状态。如果要看操作是否是切换操作,请使用isToggleAction()。切换操作可以是“开”,isOn()返回真,或者“关”,isOn()返回假。
操作可以使用addTo()被添加到窗口部件(菜单或者工具条)中,并且使用removeFrom()来移除。
一旦QAction已经被创建,它应该被添加到相应的菜单或者工具条重并且然后连接到执行这个操作的槽。例如:
fileSaveAction = new QAction( "Save File", QPixmap( filesave ), "&Save", CTRL+Key_S, this, "save" ); connect( fileSaveAction, SIGNAL( activated() ) , this, SLOT( save() ) );
我们创建一个菜单文本为“保存(&S)”并且Ctrl+S为键盘快捷键的“文件保存”操作。我们连接fileSaveAction的activated()信号到我自己的save()槽。注意在这时还没有菜单或者工具条操作,接下来我们将添加它们:
QToolBar * fileTools = new QToolBar( this, "file operations" );
fileSaveAction->addTo( fileTools );
QPopupMenu * file = new QPopupMenu( this ); menuBar()->insertItem( "&File", file );
fileSaveAction->addTo( file );
我们创建了一个工具条并把我们的fileSaveAction添加进去。类似的,我们创建一个菜单,添加一个顶级菜单项并且把我们的fileSaveAction添加进去。
我们建议把操作为它所在的窗口的子对象来创建。在绝大多数情况下操作是应用程序主窗口的子对象。
为了防止循环,不要在一个稍后要添加操作的窗口部件的子对象中创建操作。
转载自:http://blog.csdn.net/metasearch/article/details/2148154
- QT中利用QAction增加菜单项
- QT中利用QAction增加菜单项
- QT中利用QAction增加菜单项
- qt中的菜单QMenu QAction
- qt中的菜单QMenu QAction
- 关于QT的菜单QMenu和QAction
- Qt菜单 QMenu QAction连接信号槽函数
- QT中QToolBar中如何添加QAction控件
- [转] QT 在TreeView中增加右键菜单功能
- QT,QAction中的ToolTip
- Qt 之 QAction
- Qt类之QAction
- Qt中的QAction
- QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用(二)
- 【转】QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用
- VC中给菜单项增加响应函数
- Qt中如何利用QPushButton来实现一个弹出菜单
- 在Ubuntu应用程序菜单中自行增加程序菜单项
- WordPress JSON REST API (WP API) 使用文档-创建\获取\编辑\删除文章
- APIDOC安装使用
- IOS创建项目相关证书配置
- Python入门教程
- C#设计模式——代理模式
- QT中利用QAction增加菜单项
- ubuntu开启root用户ssh远程登录
- 自适应屏幕
- Educational Codeforces Round 6
- 分布式基础通信协议:paxos,totem和gossip
- 去除button点击下去的 灰色阴影效果
- SSD Trim
- 用GDB动态打印快速实现嵌入式系统的调试输出
- ubuntu下SD卡分区与挂载