Qt QAction动作——菜单栏、工具栏、状态栏

在学习菜单栏、工具栏、状态栏之前,我们需要了解一个叫“动作”的功能实现。

文章主要来源于:https://www.devbean.net/2012/09/qt-study-road-2-menubar-toolbar-statusbar/

目录

  • ·动作QAction
    • 简介
    • 一、用法
    • 二、代码展示
      • (1)、构造函数
      • (2)、快捷键
      • (3)、提醒文本
      • (4)、部分结合代码
  • ··菜单栏
    • 一、简介
    • 二、代码解释
    • 三、运行展示
  • ···工具栏
    • 1、简介
    • 2、代码解释
    • 3、界面效果
  • 结尾

·动作QAction

简介

QAction从名字上我们可以看出,这是一个类,它的功能是等待指令,执行工作。那么这个指令怎么来呢?比如菜单项、工具栏内按钮,用户在点击这些选项或按钮时,Qt得到反馈,执行指定功能。

一、用法

QAction可以设置图标、快捷键、提醒文本

二、代码展示

(1)、构造函数

以下展示的是QAction的构造函数。

    explicit QAction(QObject *parent = nullptr);
    explicit QAction(const QString &text, QObject *parent = nullptr);
    explicit QAction(const QIcon &icon, const QString &text, QObject *parent = nullptr);

(2)、快捷键

快捷键源码:

    void setShortcut(const QKeySequence &shortcut);
    QKeySequence shortcut() const;

    void setShortcuts(const QList<QKeySequence> &shortcuts);
    void setShortcuts(QKeySequence::StandardKey);
    QList<QKeySequence> shortcuts() const;
QKeySequences类称为按键序列,也就是设置快捷键的键位。

(3)、提醒文本

    void setStatusTip(const QString &statusTip);
    QString statusTip() const;

(4)、部分结合代码

	act = new QAction(QIcon("/Users/yucheng/allpic/help.png"),"帮助",this);		//包括图标路径、长时间停留提示、父指针
    act->setShortcut(QKeySequence::Open);
    act->setStatusTip("帮助文本");
    connect(act, &QAction::triggered, this, &MainWindow::ActionBehavior);	//建立连接 当动作被触发后,调用ActionBehavior函数

··菜单栏

一、简介

菜单栏就是应用的最上端一行的功能选项,Mac端的菜单栏在最上方

要想使用这个方法,我们必须借助QMenu类。

二、代码解释

菜单大家 用的比较多,没什么好说的,举一个菜单例子,

    act = new QAction(QIcon("/Users/yucheng/allpic/help.png"),"帮助",this);
    act->setShortcut(QKeySequence::Open);
    act->setStatusTip("帮助文本");
    connect(act, &QAction::triggered, this, &MainWindow::ActionBehavior);	//建立连接 当动作被触发后,调用ActionBehavior函数
    
    QMenu * menu = this->menuBar()->addMenu("菜单");		//建立菜单
    menu->addAction(act);								//菜单中添加动作

有两点要说的是:

QMainWindow已经为我们提供了菜单栏,后面提及的工具栏和状态栏也是。所以我们不需要创建一个新的对象,直接使用QMainWindow中的自带菜单栏。

action中的提示文本在菜单栏中不可用。只能在工具栏中有提示。

三、运行展示

Qt QAction动作——菜单栏、工具栏、状态栏_第1张图片

···工具栏

1、简介

何为工具栏?

在QT中,我们使用QToolBar类来使用功能。

2、代码解释

    act = new QAction(QIcon("/Users/yucheng/allpic/help.png"),"帮助",this);
    act->setShortcut(QKeySequence::Open);
    act->setStatusTip("帮助文本");
    connect(act, &QAction::triggered, this, &MainWindow::ActionBehavior);	//建立连接 当动作被触发后,调用ActionBehavior函数
    
    QMenu * menu = this->menuBar()->addMenu("菜单");		//建立菜单
    menu->addAction(act);                                                       //菜单中添加动作

    QToolBar * tool1 = this->addToolBar("帮助");                      //建立工具栏
    tool1->addAction(act);                                                          //工具栏添加动作

    statusBar();                                                                            //建立状态栏,用于显示文本提示

3、界面效果

Qt QAction动作——菜单栏、工具栏、状态栏_第2张图片

当然还有菜单栏。没有截上。

结尾

由于菜单栏和工具栏的内容较多,不可能一次性学完。暂时就介绍一些基础用法。更深功能往后在看。

你可能感兴趣的:(Qt,自学之路,qt)