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

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