跳到正文
Yayin Story Studio 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.15.6 引入) void setChecked(bool check)
(自 Visindigo 0.15.6 引入) void setCheckedEnable(bool enable)
(自 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.15.6 引入) void setUseItemStyle(bool use)

信号

(自 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

重实现的受保护成员函数

(自 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.15.6] void MultiButton::setChecked(bool check)

check 是否选中。 设置按钮的选中状态。仅当启用选中状态功能后,此函数才会生效。 当按钮被点击时,如果启用了选中状态功能,按钮会自动切换选中状态。

这个function 从 Visindigo 0.15.6 开始支持。

[since Visindigo 0.15.6] void MultiButton::setCheckedEnable(bool enable)

enable 设置是否启用选中状态功能。

设置按钮是否启用选中状态功能。启用后,按钮可以通过setChecked(bool)函数设置为选中或非选中状态, 并且在被点击时会自动切换选中状态。选中状态与被按下状态使用相同的样式。

这个function 从 Visindigo 0.15.6 开始支持。

[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 开始支持。

[since Visindigo 0.15.6] void MultiButton::setUseItemStyle(bool use)

use 是否使用Item风格

设置样式是否为Item风格。Item风格更适合在按钮列表中使用。

这个function 从 Visindigo 0.15.6 开始支持。