Visindigo::Widgets::BorderLabel Class
class Visindigo::Widgets::BorderLabel这是个神奇的类,在Windows上的某些情况下特别有用. 详情...
| 头文件: | #include <BorderLabel> |
| 自以下版本: | Visindigo 0.14.0 |
公开成员函数
(自 Visindigo 0.14.0 引入) | BorderLabel(QWidget *parent = nullptr) |
(自 Visindigo 0.14.0 引入) virtual | ~BorderLabel() |
(自 Visindigo 0.14.0 引入) virtual void | paintEvent(QPaintEvent *event) override |
详细说明
这是个神奇的类:它本质是QLabel,未提供任何其他功能,它只做一件事, 默认画一个现代边框(在Windows11上看起来像WinUI3中的边框)。
这在Windows(尤其是Windows11)上特别有用,因为在Qt中缺少一种能够模仿 WinUI3中现代边框的组件,而Qt在Windows11上代理绘制的某些窗口实际上 正好与这种边框类似,因此这个类就被设计出来了,以满足在Windows11上实现现代边框的需求。
你可以如同使用QLabel一样使用它,但如果你也需要重载paintEvent,记得先 调用Visindigo::Widgets::BorderLabel::paintEvent来绘制边框,否则你就只能得到一个普通的QLabel了。
成员函数文档
[since Visindigo 0.14.0] BorderLabel::BorderLabel(QWidget *parent = nullptr)
parent 父窗口
BorderLabel的构造函数。
这个function 从 Visindigo 0.14.0 开始支持。
[virtual noexcept, since Visindigo 0.14.0] BorderLabel::~BorderLabel()
BorderLabel的析构函数。
这个function 从 Visindigo 0.14.0 开始支持。
[override virtual, since Visindigo 0.14.0] void BorderLabel::paintEvent(QPaintEvent *event)
event paint事件
由BorderLabel重载的paintEvent函数。任何继承此类并重载paintEvent 的子类在重载的paintEvent中都应该调用此函数来绘制边框,否则就只能得到一个普通的QLabel了。
这个function 从 Visindigo 0.14.0 开始支持。