Qt QAction动作 | 您所在的位置:网站首页 › diag是什么按键如何使用 › 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 &shortcuts); void setShortcuts(QKeySequence::StandardKey); QList 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中,我们使用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、界面效果![]() 当然还有菜单栏。没有截上。 ![]() 由于菜单栏和工具栏的内容较多,不可能一次性学完。暂时就介绍一些基础用法。更深功能往后在看。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |