QAction类

QAction类函数介绍

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是,“动作”表示。

6、void QAction::triggered ( bool checked = false ) [signal]
此函数为信号,当用户触发此“动作”时,此信号发射。例如用户点击了菜单中的菜单项等。
此函数一般用法为:在QObject::connect()函数中作为信号参数,用于触发“动作”所对应执行的槽函数——实现“动作”的功能函数,例如:“新建”按钮被用户按下,所需要的功能可能是新建一个文档,那么新建一个文档的动作就在这个槽函数中实现。至于此信号函数中的形参暂时可以忽略。以后会在介绍QObject类中的静态方法connect()函数时详细解说。

connect(action1, SIGNAL(triggered(bool)), this, SLOT(printItemSlot1())); 

7、void QAction::setCheckable ( bool );
此函数用于设置QAction类中的私有变量: bool checkable ,此属性用以提供“动作”是否为复选动作,例如Qt Creator中“控件”菜单中的“全屏”菜单项即为复选动作菜单

action1->setCheckable(true);

QAction和QActionGroup搭配使用

// Define QActionGroup
QActionGroup *group = new QActionGroup(this);
group->setExclusive(true);

// Add QAction
QAction *action1 = new QAction("Item1", group);
action1->setCheckable(true);
action1->setChecked(true);
ui->menuItem->addAction(action1);

QAction *action2 = new QAction("Item2", group);
action2->setCheckable(true);
ui->menuItem->addAction(action2);

// Connection
connect(group, SIGNAL(triggered(QAction*)), this, SLOT(updateItem(QAction*)));

// Respond function
void QtMainWindow::updateItem(QAction *action)
{
    if (action->text() == "Item1") {
        // TO DO
    }
    if (action->text() == "Item2") {
        // TO DO
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值