Qt之按钮(QToolButton) 您所在的位置:网站首页 ppt的绘图工具有哪些按钮图片设置 Qt之按钮(QToolButton)

Qt之按钮(QToolButton)

2024-07-15 14:48| 来源: 网络整理| 查看: 265

简述

QToolButton类让我们可以快速地实现命令和选项按钮,它通常用在QToolBar中。

相比于普通的命令按钮(QPushButton),工具按钮通常不显示文本,只显示图标。

工具按钮通常是在QToolBar::addAction方法被调用的时候被创建。当然,也可以用其它控件的创建方式来创建QToolButton。

QToolButton的一种经典用法是选择工具。例如,绘图程序中的“笔”工具。

基本用法

下面我们利用QToolButton的一些基本属性做一个演示。

效果

这个例子中使用了四个QToolButton,每个按钮展示不同的属性。按钮顺序:自左向右升序。

源码 QToolButton *toolBtn1 = new QToolButton; toolBtn1->setArrowType(Qt::LeftArrow); toolBtn1->setAutoRaise(true); QToolButton *toolBtn2 = new QToolButton; toolBtn2->setArrowType(Qt::LeftArrow); QToolButton *toolBtn3 = new QToolButton; toolBtn3->setIcon(QIcon(":/picture/tool.png")); QToolButton *toolBtn4 = new QToolButton; toolBtn4->setPopupMode(QToolButton::MenuButtonPopup); QMenu *menu = new QMenu; menu->addAction("剪切"); menu->addAction("粘贴"); menu->addAction("复制"); toolBtn4->setMenu(menu); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); layout->addWidget(toolBtn2); layout->addWidget(toolBtn3); layout->addWidget(toolBtn4); this->setLayout(layout); 常用接口

下面列举QToolButton中一些常用的属性、公有函数以及信号槽。

常用属性 arrowType:Qt自带的一些默认图标 常量值Qt::NoArrow0Qt::UpArrow1Qt::DownArrow2Qt::LeftArrow3Qt::RightArrow4 popupMode:QToolButton上面的菜单弹起模式 常量值描述QToolButton::DelayedPopup0按下按钮一定时间后显示菜单。一个典型案例:浏览器中工具栏的“后退”按钮。QToolButton::MenuButtonPopup1这种模式下,工具按钮显示一个特殊的箭头以指示菜单是否存在,按下按钮的箭头部分时显示菜单。QToolButton::InstantPopup2按下工具按钮时菜单显示,无延迟。这种模式下,按钮自身的动作不触发。 toolButtonStyle 常量值描述Qt::ToolButtonIconOnly0只显示图标Qt::ToolButtonTextOnly1只显示文本Qt::ToolButtonTextBesideIcon2文本显示在图标旁边Qt::ToolButtonTextUnderIcon3文本显示在图标下面Qt::ToolButtonFollowStyle4样式跟随

效果

源码

QToolButton *toolBtn1 = new QToolButton; toolBtn1->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); toolBtn1->setIcon(QIcon(":/picture/tool.png")); toolBtn1->setText("我在Icon下面"); QToolButton *toolBtn2 = new QToolButton; toolBtn2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); toolBtn2->setIcon(QIcon(":/picture/tool.png")); toolBtn2->setText("我在Icon旁边"); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); layout->addWidget(toolBtn2); this->setLayout(layout); 公共函数 设置箭头类型 setArrowType(Qt::ArrowType type)

设置箭头

设置菜单 setMenu

设置菜单到QToolButton

设置按钮自动凸起 setAutoRaise

QToolButton支持auto-raising模式,在auto-raise模式下,只有当鼠标放在QToolButton上面时,它才会显示出一个3D状态。当QToolButton在QToolBar中被使用时,auto-raise模式默认启动。

设置菜单弹出模式 setPopupMode 槽函数 设置按钮样式 setToolButtonStyle

设置按钮默认行为

setDefaultAction

给一个QToolButton设置一个默认QAction,这个QAction包含有该QToolButton需要的一些基本默认设置,包括:checkable;checked;enabled;font;icon;popupMode;statusTip;text;toolTip;whatThis

使用案例

QToolButton *toolBtn1 = new QToolButton; QAction *action = new QAction; action->setCheckable(true); action->setChecked(true); action->setEnabled(true); action->setIcon(QIcon(":/picture/tool.png")); toolBtn1->setDefaultAction(action); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); this->setLayout(layout); 展示下拉菜单 showMenu 信号 触发 triggered 引用

[1] Qt助手



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有