Qt之QToolButton

详细描述

QToolButton类提供一个快速访问按钮来控制或选择,通常被用于QToolBar中

toolButton是一个特殊的按钮用来快速访问特定的命令或选择。和常规按钮不同的是,工具按钮通常显示图标而不现实文本

在通过QToolBar::addAction创建新的QAction实例或添加已有的action到toolbar中时会创建Toolbtn。也可以像其他控件一样构造一个toolbtn,并将他们一起排列到布局中。

就像笔在绘画中一样,选择按钮是toolBtn的一中典型用法。这中用法将QToolBtn作为切换按钮来用(详见setCheckable)

QToolButton支持自动凸起,在自动突起模式下,只有在鼠标点在按钮上才会显示3D框架。这个特征在QToolBar中使用toolbtn时会自动打开。通过setAUtoRaise修改它。感觉跟字面意义相反

toolButton的图标用QIcon设置。这使得按钮可以通过指定不同的图像来显示禁用和激活状态。当按钮的功能不可用时使用禁用图像。当按钮因为鼠标悬浮在其上而自动突起时显示激活图像。

按钮的外观和尺寸可以通过setToolButtonStyle和setIconSize修改。当在Mainwindo中的toolbar中使用时,按钮自动修正为Main WIndow的设置(详见QMainWIndow::setToolButtonStyle和QMainWIndow::setIconSize)。toolBtn也可以使用箭头来代替图标,通过指定arrowType.

通过setMenu设置,toolBtn可以用作下拉菜单。通过setPopupMode来指定按钮菜单的不同模式。默认模式是DelayedPopuMode,有时和网页的back按钮一起使用。在按钮被按下并保持一段时间后,弹出一个可以跳转的页面菜单。超时是依赖于样式的。详见QSTyle::SH_ToolButton_PopupDelay。

Qt助手的toolbar包含的toolbar关联到Mainwindow其他部分的动作。


成员类型文档

 enum QToolButton::ToolButtonPopupMode

设置后都会有三角形在右侧

QToolButton::DelayedPopup:在按下按钮并保持一段时间(时间是依赖样式的,见QStyle::SH_ToolButton_PopupDelay(描述是以毫秒为单位的一个整数)),菜单显示。典型的例子就是网页工具栏的back按钮。如果用户点击它,则返回上一个页面,如果按住不放则显示一个历史页面表。

QToolButton::MenuButtonPopup:在这个模式下,按钮会显示一个特定的箭头用来表示菜单被展示。当按箭头部分时菜单显示,否则不展示。

QToolButton::InstantPopup:当按钮按下时没有延迟,菜单立即显示。在这个模式下,按钮自身的动作不会被触发(clicked等)


属性文档

arrowType : Qt::ArrowType

这个属性决定按钮是否用一个箭头代替常规图片

这个属性默认是Qt::NoArraw. (有上下左右四个箭头类型)

访问接口:
       arrowType()
       setArrowType()

autoRaise : bool

这个属性决定是否自动突起

默认false突起。

popupMode : ToolButtonPopupMode

描述工具按钮菜单弹出方式。

默认属性是DelayedPopup

访问接口:
    ToolButtonPopupMode popupMode() const
    void setPopupMode(ToolButtonPopupMode mode)

 toolButtonStyle : Qt::ToolButtonStyle

这个属性决定工具按钮显示方式:只显示图标,只显示文本,文本在图标下方或边上(右侧)

默认Qt::ToolButtonIconOnly

想要toolbbutton跟随系统风格,可以设置为Qt::ToolButtonFollowStyle.在Unix中,将匹配用户桌面环境设置。而在其他平台则意味着直线式图标。

QToolButton的草函数会自动连接到其所在QMainWindow的相关信号上。

访问接口:
    Qt::ToolButtonStyle toolButtonStyle() const
    void setToolButtonStyle(Qt::ToolButtonStyle style)


成员函数文档

QToolButton::QToolButton(QWidget *parent = Q_NULLPTR)

构造一个空toolButton并指定其父对象。

注意:toolbutton构造函数只有这一个。

QToolButton::~QToolButton()

销毁对象并释放相关的资源

QAction *QToolButton::defaultAction() const

返回默认动作

见setDefaultAction

 [protected] void QToolButton::initStyleOption(QStyleOptionToolButton *option) const

用QToolButton的值初始化option。这个方法对于那些需要QStyleOptionButton,但是又不想自己填充所有信息的子类是有用的

见QStyleOption::initFrom().

QMenu *QToolButton::menu() const

返回相关的菜单,如果菜单没有定义则返回

见setMenu().

[slot] void QToolButton::setDefaultAction(QAction *action)

槽函数。用action设置默认的动作。如果toolbtn有默认动作,那这个动作定义了按钮的属性如文本,图标,工具提示等

见defaultAction().

void QToolButton::setMenu(QMenu *menu)

关联菜单到这个toolbtn上。菜单根据按钮的popupMode进行显示。菜单的所有权不会转到toolbtn上。

见menu().

[slot] void QToolButton::showMenu()

槽函数。显示(弹出)相关的菜单。如果按钮没有菜单,那这个函数不起作用。这个函数知道用户关闭下拉菜单才会返回。

主要在自定义按钮中重载这个函数,并实现一些操作。

[signal] void QToolButton::triggered(QAction *action)

信号。当action被触发时这个信号被发送。

动作也有可能被关联到用户界面的其他地方,比如菜单和快捷键。用这种方式共享动作使得用户界面更便捷,通常可以用更少的动作去实现。

你可能感兴趣的:(Qt帮助文档翻译)