Qt之按钮(QToolButton) | 您所在的位置:网站首页 › ppt的绘图工具有哪些按钮图片设置 › Qt之按钮(QToolButton) |
简述
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 设置按钮自动凸起 setAutoRaiseQToolButton支持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 实验室设备网 版权所有 |