Qt的QAction

一、介绍

QAction类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作(action),这些action可以被放置在窗体的各个部件中。应用程序可以通过菜单,工具栏以及键盘快捷键来调用这个通用的命令。

二、应用场景

在图形用户界面应用程序中很多命令可以通过菜单选项、工具条按钮和键盘快捷键调用。因为同一个操作将会被执行,而与它的调用方法无关,并且因为菜单和工具条必须保持同步,所以提供一个操作这样的命令很有用。一个操作可以被添加到菜单和工具条中并且将会自动使它们同步。举个例子,在一个字处理软件中,如果用户在工具栏中按下了“加粗”按钮,那么菜单中的“加粗”选项就会自动被选中。

三、使用

QAction可以包括一个图标,菜单文本,快捷键,状态文本,"What`s This"文本以及一个tooltip。可以通过setIcon(),setIconText(),setShortCut(),setStatusTip(),setWhatsThis和SetToolTip()函数分别设置。

注意,只有将Actions添加到窗口部件上之后,我们才可以使用这些actions;当actions的快捷键是全局的时候,我们也必须先将actions添加到窗口部件上。一旦QAction被创建了,那么就必须将它添加到相关的菜单和工具栏上,然后将它们链接到实现相应action功能的槽函数上。例如:

QAction *NewBuildAction;
NewBuildAction = new QAction(MainWindow);
NewBuildAction->setObjectName(QStringLiteral("NewBuildAction"));
menu->addAction(NewBuildAction);
toolBar->addAction(NewBuildAction);

四、常用的方法总结

1.  QAction::QAction( const QString & text, QObject * parent )
    QAction类的构造函数之一,利用text,parent创建QAction对象。QAction对象一般为菜单中的菜单项,比如 "文件"菜单中"新建"选项就是一个QAction对象,上述构造函数中text成员变量即为菜单项所表示的内容。
    用法:QAction *newAction = new QAction(tr("&New"),this);
2.  void QAction::setIcon ( const QIcon& icon )
    该函数可设置菜单项名称前的图标
    用法:newAction->setIcon(QIcon(":/images/new.png"));
3. void QAction::setShortcut ( const QKeySequence & shortcut );
    设置QAction对象执行的快捷键
    用法:newAction->setShortcut(tr("Ctrl+N"));
4. void QAction::setStatusTip ( const QString & statusTip );
    设置当鼠标移动到“动作”上时,状态栏显示的提示语。
5. void QAction::setVisible ( bool );
    设置“动作”显示与否,当形参为true是,“动作”表示。
7. void QAction::triggered ( bool checked = false ) [signal]
    此函数为信号,当用户触发此“动作”时,此信号发射。例如用户点击了菜单中的菜单项等。
    此函数一般用法为:在QObject::connect()函数中作为信号参数,用于触发“动作”所对应执行的槽函数——实现“动作”的功能函数,例如:“新建”按钮被用户按下,所需要的功能可能是新建一个文档,那么新建一个文档的动作就在这个槽函数中实现。至于此信号函数中的形参暂时可以忽略。以后会在介绍QObject类中的静态方法connect()函数时详细解说。
8 . void QAction::setCheckable ( bool );
    此函数用于设置QAction类中的私有变量: bool checkable ,此属性用以提供“动作”是否为复选动作,例如Qt Creator中“控件”菜单中的“全屏”菜单项即为复选动作菜单
 

参考:

QAction系列详解 - 哼哼唧唧 - 博客园
Qt常用类QAction类及方法简介_Geek.Fan的博客-CSDN博客_qaction triggered

  • 0
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

物随心转

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值