QT系统学习系列:1.3 ToolButton(工具按钮)


一. ToolButton 基础

ToolButton介绍

头文件:#include

qmake:QT +=widgets

继承于:QAbstractButton

无继承该类的类

在这里插入图片描述

该类提供了一个快速访问按钮,通常是内部使用的命令或是在QToolBar(工具栏),工具按钮是一种特殊按钮,可用于快速访问特定命令或选项。与普通命令(PushButton)按钮相反,工具按钮通常不显示文本标签(不是不能显示),而是显示图标,如wps的工具栏。

在这里插入图片描述
总之QToolButton一般与QToolBar一起使用的较多(可看ToolButton高级),而QPushButton则应用场合更为广泛。

ToolButton 构造函数

ToolButton的构造函数只有一个最基本的,不像PushButton具有三个。
在这里插入图片描述
但这并不意味着ToolButton不能使用文本和图标,相反的ToolButton比PushButton更常用于只显示图标而不显示文字的场景。
并且该类继承于QAbstractButton,QAbstractButton有的属性,它都有。


二. ToolButton 进阶

arrowType属性

该属性是按钮是否显示箭头从而代替普通图标,默认值是NoArrow,如果将其设置为DownArrow,则如下图所示,此外还有其他朝向三个方向箭头的值供选择。
在这里插入图片描述
注意:当设置该属性,按钮上已存在的图标,文字等都会被覆盖。

ui界面可设置:
在这里插入图片描述
代码可通过arrowType()和setArrowType(),访问和设置该属性。


autoRaise属性

该属性决定按钮是否自动凸出,默认值是False,与正常按钮一样,当设置为true时,如下图:
在这里插入图片描述
当鼠标划过时,会自动弹起。

ui界面可设置:
在这里插入图片描述
代码可通过autoRaise()和setAutoRaise(),访问和设置该属性。


popupMode属性

该属性可设置弹出菜单的方式,默认是DelayedPopup(值为0,按下按钮一定时间后,显示菜单)。
在这里插入图片描述

其余两个值分别为:
MenuButtonPopup(值为1,这种模式下,工具按钮显示一个特殊的箭头以指示菜单是否存在,按下按钮的箭头部分时显示菜单。)
在这里插入图片描述

InstantPopup(值为2,按下工具按钮时菜单显示,无延迟。这种模式下,按钮自身的动作不触发。)

在这里插入图片描述
ui界面可设置:
在这里插入图片描述

代码可通过popupMode()和setPopupMode(),访问和设置该属性。


toolButtonStyle属性

该属性指定按钮显示模式,默认为ToolButtonIconOnly(仅显示图标)。
在这里插入图片描述

其他四个值分别为:
ToolButtonTextOnly(只显示文字)
在这里插入图片描述

ToolButtonTextBesideIcon(文字在图标旁)
在这里插入图片描述

ToolButtonTextUnderIcon(文字在图标下)
在这里插入图片描述

ToolButtonFollowStyle(根据QStyle::StyleHint格式显示,我们没有设置StyleHint,所以和默认一样)
在这里插入图片描述
ui界面设置:
在这里插入图片描述

代码可通过toolButtonStyle()和setToolButtonStyle(),访问和设置该属性。


设置提示

ToolButton常用于显示图标,可以为按钮添加提示,当鼠标放在按钮上,显示提示。

    ui->toolButton->setToolTip("点击");
    ui->toolButton_2->setToolTip("滑过");
    ui->toolButton_3->setToolTip("按下");
    ui->toolButton_4->setToolTip("释放");

不只是ToolButton可以。


继承属性

在这里插入图片描述
该类继承于QAbstractButton类的属性,在QT系统学习系列:1.1 QAbstractButton(所有按钮的抽象基类,学习按钮之前必看该篇)已经列出,有需要,可点击学习。


关于ToolButton 按钮的简单美化

ToolButton按钮与PushButton按钮的基本类似,可以查看QT系统学习系列:1.2 PushButton(常规按钮)关于按钮的美化。


三. ToolButton 高级

ToolBar工具栏和ToolButton工具按钮的应用

TooButton常和ToolBar(工具栏)合用,我们来看一下。

首先创建一个主窗口ui,默认带有一个TooBar(工具栏),在ui界面拖动四个ToolButton按钮,并为四个按钮添加图标。
在这里插入图片描述
现在我们添加代码,让这四个按钮出现在工具栏上面。

//ui->toolBar 是我们的工具栏
    ui->toolBar->addWidget(ui->toolButton);
    ui->toolBar->addWidget(ui->toolButton_2);
    ui->toolBar->addWidget(ui->toolButton_3);
    ui->toolBar->addWidget(ui->toolButton_4);

运行,效果如下。至于工具栏的详细讲解,可以参考QT系统学习系列:1.2 ToolBar(工具栏)(未更)
在这里插入图片描述


ToolButton 菜单
	//创建菜单
    QMenu * men = new QMenu();
    //为菜单添加,不屑于文字,还可以添加图标,分割线。
    men->addAction("跟花狗学QT");
    men->addAction("关注CSDN花狗Fdog");
    //将菜单添加到按钮下
    ui->toolButton->setMenu(men);

在这里插入图片描述
如果你和我一样操作了,却点不出菜单,不妨想一想是不是上面讲过的popupMode属性默认是DelayedPopup,需要长按才可以显示菜单哦


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花狗Fdog

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

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

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

打赏作者

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

抵扣说明:

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

余额充值