Visindigo::Widgets::MultiButton Class
class Visindigo::Widgets::MultiButtonMultiLabel的扩展,提供了按钮的功能. 详情...
| 头文件: | #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 开始支持。