【Qt】QPushButton 与 QAction 的区别

1. QPushButton

  • QPushButton 是一个界面控件,能显示到界面上的。
  • QPushButtonQWidget的一个子类,是一个表示按钮的界面控件。
  • 它用于在GUI中提供一个标准的按钮,用户可以点击它来触发一个即时的动作或命令。
  • 按钮可以显示文本、图标或两者都有,并且可以被设置为不同的状态(如可按、不可按)。
  • QPushButton 通常用于表单、对话框、工具栏和其他需要用户直接与之互动以触发特定动作的地方。
  • 代码
QPushButton *button = new QPushButton("Click Me");
connect(button, &QPushButton::clicked, this, &MyClass::handleButtonClick);

2. QAction

  • QAction表示一个应用中的动作或命令,它本身不是一个UI控件,而是一种可以在多个地方重用的抽象动作表示。
  • 通过将QAction对象关联到菜单项、工具条按钮或快捷键,你可以在不同的上下文中提供相同的命令。
  • 这样,当动作的状态(如启用/禁用、选中/未选中)发生变化时,所有关联到这个动作的界面元素都会相应地更新状态,从而实现了界面元素之间的一致性并减少了代码重复。
  • 代码
QAction *action = new QAction(QIcon(":/icons/icon.png"), "Action", this);
connect(action, &QAction::triggered, this, &MyClass::handleActionTriggered);
toolbar->addAction(action);
menu->addAction(action);

3. 总结

用途

  • QPushButton通常在用户需要点击按钮来触发某个操作时使用,属于具体的界面控件;
  • QAction表示的是一个可在多个地方重用的抽象动作或命令,可以与多种触发方式相关联,如菜单项、工具栏按钮和快捷键。

用户界面

  • QPushButton是一个可视化的界面元素,直接显示在GUI中;
  • QAction本身不提供可视化界面,需要被绑定到一个或多个UI元素上(如QMenuQToolBar)来进行展示。

功能复用

  • QAction便于在多个地方重用相同的动作逻辑,
  • QPushButton通常用于实现单一的、独立的界面按钮。
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值