QAction类
来源:互联网 发布:mysql还原数据库 编辑:程序博客网 时间:2024/05/02 01:57
QAction类:
QAction类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作,QAction能够根据它添加的位置来改变自己的样子——如果添加到菜单中就会显示成菜单项(文件,工具,收藏等菜单项);如果添加到工具条,就会显示成一个按钮。
QAction类保存有关这个动作的信息,比如他的文本描述、图标、快捷键、回调函数等 。
QAction构造对象的时候会使用如下构造函数:
QAction(const QString &text, QObject* parent);
它有两个参数,第一个text是这个动作的文本描述,用来显示文本信息,比如在菜单中的文本;第二个是parent,一般而言,我们通常传入this指针就可以了。我们不需要去关心这个parent参数具体是什么,它的作用是指明这个QAction的父组件,当这个父组件被销毁时,比如delete或者由系统自动销毁,与其相关联的这个QAction也会自动被销毁。
首先在头文件里面添加一个私有的QAction变量:
class QAction;
//...
private:
QAction *openAction;
//...
//...
private:
QAction *openAction;
//...
这里是为了给QAction类做一个前向声明。
在cpp文件中添加QAction的定义,直接把它定义在构造函数里面:
openAction =new QAction(tr("&Open"),this);
openAction->setShortcut(QKeySequence::Open);
openAction->setStatusTip(tr("Open a file."));
openAction =new QAction(tr("&Open"),this);
openAction->setShortcut(QKeySequence::Open);
openAction->setStatusTip(tr("Open a file."));
第一句是构造一个QAction类的对象,上面已经介绍过了QAction类的构造函数了,这里就不做介绍了
第二句我们使用了setShortcut函数。shortcut是这个动作的快捷键。Qt的QKeySequence已经为我们定义了很多内置的快捷键,比如我们使用的Open。你可以通过查阅API文档获得所有的快捷键列表,或者是在QtCreator中输入::后会有系统的自动补全功能显示出来。这个与我们自己定义的有什么区别呢?简单来说,我们完全可以自己定义一个tr("Ctrl+O")来实现快捷键。原因在于,这是Qt跨平台性的体现。比如PC键盘和Mac键盘是不一样的,一些键在PC键盘上有,而Max键盘上可能并不存在,或者反之,所以,推荐使用QKeySequence类来添加快捷键,这样,它会根据平台的不同来定义不同的快捷键。
第三句是setStatusTip函数。这是添加状态栏的提示语句。状态栏就是主窗口最下面的一条。现在我们的程序还没有添加状态栏,因此你是看不到有什么作用的。
下面要做的是把这个QAction添加到菜单和工具条:
QMenu *file = menuBar()->addMenu(tr("&File"));
file->addAction(openAction);
QToolBar *toolBar = addToolBar(tr("&File"));
toolBar->addAction(openAction);
file->addAction(openAction);
QToolBar *toolBar = addToolBar(tr("&File"));
toolBar->addAction(openAction);
QMainWindow有一个menuBar()函数,会返回菜单栏,也就是最上面的那一条。如果不存在会自动创建,如果已经存在就返回那个菜单栏的指针。直接使用返回值添加一个菜单,也就是addMenu,参数是一个QString,也就是显示的菜单名字。然后使用这个QMenu指针添加这个QAction,进而这个QAction就会成为这个菜单的一个菜单项,这个菜单项会显示QAction类对象保存的内容,菜单仍然会显示建立菜单时候菜单的名字和其他;类似的,使用addToolBar函数的返回值添加了一个工具条,并且把这个QAction添加到了上面,那么这个工具条显示的内容就是QAction保存的内容,不会显示工具条建立时候工具条的名字。
0 0
- QAction类
- QAction类
- Qt类之QAction
- QAction
- QAction
- QAction
- QAction
- QAction
- QAction
- QT学习笔记--QAction类
- Qt之QAction类详解
- Qt常用类QAction类及方法简介
- QT 之 QAction类 的常用的函数
- QAction使用
- QAction学习
- QAction成员函数文档
- QMainWindow(二) QAction
- PyQt4 QAction()使用教程
- This application's application-identifier entitlement does not match that of the installed applicati
- Ubuntu下pdf阅读器
- kafka
- 【网络编程4】Java多线程
- Log4j日志级别
- QAction类
- 别因为要学的太多反而压垮自己
- Android图片裁剪库——cropper使用,完美解决图片填充不满布局问题
- C++ 简易 Simple_ATM_drawmoney
- 广东海洋大学 电子1151 孔yanfei python语言程序设计 第十周
- 91.【block编程第一篇】 block编程热点介绍(官方文档翻译的)
- Android开发EditText属性
- Android漂亮的对话框项目sweet-alert-dialog
- Android layer-list(1)