跳转至

example/gui/material/material_radius_scale/MaterialRadiusScaleMainWindow.h

Material Design 3 Radius Scale Gallery - Main Window. More...

Namespaces

Name
cf
cf::ui
cf::ui::gallery

Classes

Name
class cf::ui::gallery::RadiusPreviewWidget
圆角预览卡片 - 显示一个带圆角的矩形
class cf::ui::gallery::MaterialRadiusScaleMainWindow
主窗口 - 展示所有 7 个圆角级别

Detailed Description

Material Design 3 Radius Scale Gallery - Main Window.

Author: CFDesktop Team

Version: 0.1

Date: 2026-02-26

A visual gallery to display all Material Design 3 corner radius tokens with visual preview cards.

Source code

#pragma once

#include <QGridLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QMainWindow>
#include <QScrollArea>
#include <QVBoxLayout>
#include <QWidget>

#include "ui/core/material/cfmaterial_radius_scale.h"

namespace cf::ui::gallery {

class RadiusPreviewWidget : public QWidget {
    Q_OBJECT
  public:
    explicit RadiusPreviewWidget(const QString& name, float radiusDp, const QColor& accentColor,
                                 QWidget* parent = nullptr);

  protected:
    void paintEvent(QPaintEvent* event) override;

  private:
    QString name_;
    float radiusDp_;
    QColor accentColor_;
};

class MaterialRadiusScaleMainWindow : public QMainWindow {
    Q_OBJECT

  public:
    explicit MaterialRadiusScaleMainWindow(QWidget* parent = nullptr);
    ~MaterialRadiusScaleMainWindow() override = default;

  private:
    void setupUI();
    void createHeader();
    void createRadiusCards();

  private:
    cf::ui::core::MaterialRadiusScale radiusScale_;

    QWidget* centralWidget_;
    QVBoxLayout* mainLayout_;
    QScrollArea* scrollArea_;
    QWidget* scrollContent_;
    QGridLayout* cardsLayout_;
};

} // namespace cf::ui::gallery

Updated on 2026-03-09 at 10:14:01 +0000