Qt控件-QToolButton用法

        QToolButton按钮和常用的QPushButton按钮都继承自QAbstractButton类,大部分功能能想通,QToolButton有自己特有的一些功能。

        (1)主要用于工具栏,标题栏里的工具按钮

        (2)单独放置一个图标,悬浮显示提示文本的

        (3)同时放置图标和文本

        (4)仅放置文本

  一、QToolButton特有的接口

        void setToolButtonStyle(Qt::ToolButtonStyle style);

        设置按钮的样式:仅显示图标、仅显示文本、文本在图标右侧、文本在图标下方;

// 设置图标
QToolButton *btn = new QToolButton();

btn->setIcon(QIcon("1.png"));

// 设置文本在图标下方
btn->setToolButtonStyle("Qt::ToolButtonTextUnderIcon");

        setPopupMode函数

        使用 QToolButton::setPopupMode(ToolButtonPopupMode mode) 方法设置菜单弹出的行为。QToolButton 提供了三种弹出模式:

  • DelayedPopup:按下并持续一段时间后显示菜单。
  • MenuButtonPopup:显示一个箭头指示菜单存在,点击箭头部分显示菜单。
  • InstantPopup:点击按钮时立即显示菜单,且不会触发按钮自身的动作 。

        通过调用 QToolButton::setMenu(QMenu *menu) 方法将一个 QMenu 对象与 QToolButton 关联。这样,当用户点击按钮时,会显示指定的菜单

        一个样式表设置demo


QToolButton
{
    background:transparent;
    border-radius: 2px;
    border-image:url(:/icon/normal.png);
}

QToolButton:hover,QToolButton:pressed
{
    border-image:url(:/icon/hover.png);
}

QToolButton:disabled
{
    border-image:url(:/icon/disabled.png);
}

二、总结

  QToolButtonQPushButton 都继承自 QAbstractButton,因此它们共享一些基本的特性和方法,如设置图标、文本、连接信号和槽等。然而,QToolButton 提供了额外的功能,使其更适合在工具栏中使用,而 QPushButton 更适合需要明确文本标签的常规按钮场景 。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值