当前位置:主页   - 电脑 - 程序设计 - C/C++
Qt学习之路(12): 菜单和工具条
来源:网络   作者:FinderCheng   更新时间:2011-07-03
收藏此页】    【字号    】    【打印】    【关闭

  在前面的QMainWindow的基础之上,我们开始着手建造我们的应用程序。虽然现在已经有一个框架,但是,确切地说我们还一行代码没有写呢!下面的工作就不那么简单了!在这一节里面,我们要为我们的框架添加菜单和工具条。

  就像Swing里面的Action一样,Qt里面也有一个类似的类,叫做QAction。顾名思义,QAction类保存有关于这个动作,也就是action的信息,比如它的文本描述、图标、快捷键、回调函数(也就是信号槽),等等。神奇的是,QAction能够根据添加的位置来改变自己的样子 ——如果添加到菜单中,就会显示成一个菜单项;如果添加到工具条,就会显示成一个按钮。这也是为什么要把菜单和按钮放在一节里面。下面开始学习!

  首先,我想添加一个打开命令。那么,就在头文件里面添加一个私有的QAction变量:

class QAcion;
//...
private:
        QAction *openAction;
//...

  注意,不要忘记QAction类的前向声明哦!要不就会报错的!

  然后我们要在cpp文件中添加QAction的定义。为了简单起见,我们直接把它定义在构造函数里面:

        openAction = new QAction(tr("&Open"), this);
        openAction->setShortcut(QKeySequence::Open);
        openAction->setStatusTip(tr("Open a file."));

  第一行代码创建一个QAction对象。QAction有几个重载的构造函数,我们使用的是

QAction(const QString &text, QObject* parent);

  这一个。它有两个参数,第一个text是这个动作的文本描述,用来显示文本信息,比如在菜单中的文本;第二个是parent,一般而言,我们通常传入this指针就可以了。我们不需要去关心这个parent参数具体是什么,它的作用是指明这个QAction的父组件,当这个父组件被销毁时,比如 delete或者由系统自动销毁,与其相关联的这个QAction也会自动被销毁。

编缉推荐阅读以下文章

  • Qt学习之路(13): 菜单和工具条(续)
  • Qt学习之路(11): MainWindow
  • Qt学习之路(10): Meta-Object系统
  • Qt学习之路(9):深入了解信号槽
  • Qt学习之路(8): 创建一个对话框(下)
  • Qt学习之路(7): 创建一个对话框(上)
  • Qt学习之路(6): API文档的使用
  • Qt学习之路(5):组件布局
  • Qt学习之路(4):初探信号槽
  • Qt学习之路(3):Hello, world!(续)
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明