用Qt制作带圆角和半透明效果的窗体
在桌面应用程序开发中,界面设计是至关重要的一环。Qt是一个强大且易于使用的跨平台C++图形用户界面应用程序框架,提供了许多实用工具、控件和API来帮助开发人员快速构建高质量的用户界面。
本文将介绍如何使用Qt中的QWidget控件制作带圆角和半透明效果的窗体。我们将对QWidget控件的paintEvent()函数进行重载,并使用QPainter来绘制我们想要的窗体形状和效果。
下面是实现这个功能的源代码:
#include <QtWidgets>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = nullptr) : QWidget(parent)
{
setAttribute(Qt::WA_TranslucentBackground); // 设置背景透明
}
protected:
void paintEvent(QPaintEvent *)
{
QPainter painter(this);
// 设置窗体背景色和透明度
QColor color(0, 0, 0, 200);
painter.fillRect(rect(), color);
// 设置圆角矩形区域
QRegion region(rect().adj