Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

Visindigo::Widgets::MultiButton Class

class Visindigo::Widgets::MultiButton

MultiLabel的扩展,提供了按钮的功能. 详情...

头文件: #include <MultiButton>
自以下版本: Visindigo 0.13.0
继承自: Visindigo::Widgets::MultiLabel

公开成员函数

(自 Visindigo 0.13.0 引入) MultiButton(QWidget *parent = nullptr)
(自 Visindigo 0.13.0 引入) virtual ~MultiButton()
(自 Visindigo 0.13.0 引入) bool isActive()
(自 Visindigo 0.13.0 引入) bool isHovered()
(自 Visindigo 0.13.0 引入) void setActive(bool active)
(自 Visindigo 0.13.0 引入) void setHoverStyleSheet(const QString &styleSheet)
(自 Visindigo 0.13.0 引入) void setInactiveStyleSheet(const QString &styleSheet)
(自 Visindigo 0.13.0 引入) void setNormalStyleSheet(const QString &styleSheet)
(自 Visindigo 0.13.0 引入) void setPressedStyleSheet(const QString &styleSheet)

信号

(自 Visindigo 0.13.0 引入) void clicked()
(自 Visindigo 0.13.0 引入) void doubleClicked()
(自 Visindigo 0.13.0 引入) void hover()
(自 Visindigo 0.13.0 引入) void leave()
(自 Visindigo 0.13.0 引入) void pressed()
(自 Visindigo 0.13.0 引入) void released()

受保护成员函数

(自 Visindigo 0.13.0 引入) virtual void enterEvent(QEnterEvent *event) override
(自 Visindigo 0.13.0 引入) virtual void leaveEvent(QEvent *event) override
(自 Visindigo 0.13.0 引入) virtual void mouseDoubleClickEvent(QMouseEvent *event) override
(自 Visindigo 0.13.0 引入) virtual void mousePressEvent(QMouseEvent *event) override
(自 Visindigo 0.13.0 引入) virtual void mouseReleaseEvent(QMouseEvent *event) override

Reimplemented Protected Functions

(自 Visindigo 0.14.0 引入) virtual void paintEvent(QPaintEvent *event) override

详细说明

这个类在Visindigo::Widgets::MultiLabel的基础上添加了按钮的功能。 它提供了不同状态下的样式表设置,并且可以通过信号槽机制响应用户的点击、悬停等操作。

成员函数文档

[since Visindigo 0.13.0] MultiButton::MultiButton(QWidget *parent = nullptr)

parent 父组件指针,默认为nullptr。

构造函数

这个function 从 Visindigo 0.13.0 开始支持。

[virtual noexcept, since Visindigo 0.13.0] MultiButton::~MultiButton()

析构函数

这个function 从 Visindigo 0.13.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::clicked()

当按钮被"咔哒"时发出此信号。即在此按钮区域内按下且释放鼠标时发出此信号。

(咔哒指的是,鼠标在此控件范围内按下,且在此控件范围内释放,它和QPushButton::clicked定义和行为完全相同)

这个function 从 Visindigo 0.13.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::doubleClicked()

当按钮被双击时发出此信号。即在此按钮区域内连续两次按下鼠标时发出此信号。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.13.0] void MultiButton::enterEvent(QEnterEvent *event)

event 事件对象指针。

鼠标进入事件处理函数。此函数会在鼠标进入按钮区域时被调用。

如果按钮处于非活动状态,则不会发出任何信号,也不会改变按钮的样式。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常响应。

这个function 从 Visindigo 0.13.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::hover()

当鼠标悬停在按钮上时发出此信号。即当鼠标进入此按钮区域时发出此信号。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool MultiButton::isActive()

return 按钮是否处于活动状态。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool MultiButton::isHovered()

return 按钮是否处于悬停状态。

这个function 从 Visindigo 0.13.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::leave()

当鼠标离开按钮时发出此信号。即当鼠标离开此按钮区域时发出此信号。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.13.0] void MultiButton::leaveEvent(QEvent *event)

event 事件对象指针。

鼠标离开事件处理函数。此函数会在鼠标离开按钮区域时被调用。

如果按钮处于非活动状态,则不会发出任何信号,也不会改变按钮的样式。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常响应。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.13.0] void MultiButton::mouseDoubleClickEvent(QMouseEvent *event)

event 事件对象指针。

鼠标双击事件处理函数。此函数会在鼠标双击时被调用。

如果按钮处于非活动状态,则不会发出任何信号,也不会改变按钮的样式。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常响应。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.13.0] void MultiButton::mousePressEvent(QMouseEvent *event)

event 事件对象指针。

鼠标按下事件处理函数。此函数会在鼠标按下时被调用。

如果按钮处于非活动状态,则不会发出任何信号,也不会改变按钮的样式。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常响应。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.13.0] void MultiButton::mouseReleaseEvent(QMouseEvent *event)

event 事件对象指针。

鼠标释放事件处理函数。此函数会在鼠标释放时被调用。

如果按钮处于非活动状态,则不会发出任何信号,也不会改变按钮的样式。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常响应。

这个function 从 Visindigo 0.13.0 开始支持。

[override virtual protected, since Visindigo 0.14.0] void MultiButton::paintEvent(QPaintEvent *event)

Reimplements: BorderFrame::paintEvent(QPaintEvent *event).

event 事件对象指针。

绘制事件处理函数。此函数会在按钮需要重绘时被调用。

任何继承此类且重写此虚函数的子类,在重写时都应该调用此函数,以确保按钮的正常绘制。

这个function 从 Visindigo 0.14.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::pressed()

当按钮被按下时发出此信号。即在此按钮区域内按下鼠标时发出此信号。

这个function 从 Visindigo 0.13.0 开始支持。

[signal, since Visindigo 0.13.0] void MultiButton::released()

当按钮被释放时发出此信号。即在此按钮区域内释放鼠标时发出此信号。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void MultiButton::setActive(bool active)

active 是否处于活动状态。

设置按钮是否处于活动状态。

这个function 从 Visindigo 0.13.0 开始支持。

另请参阅 isActive().

[since Visindigo 0.13.0] void MultiButton::setHoverStyleSheet(const QString &styleSheet)

styleSheet 样式表

设置按钮被悬停时的样式表。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void MultiButton::setInactiveStyleSheet(const QString &styleSheet)

styleSheet 样式表

设置按钮的非活动状态下的样式表。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void MultiButton::setNormalStyleSheet(const QString &styleSheet)

styleSheet 样式表

设置按钮的正常状态下的样式表。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void MultiButton::setPressedStyleSheet(const QString &styleSheet)

styleSheet 样式表

设置按钮被按下时的样式表。

这个function 从 Visindigo 0.13.0 开始支持。