No description
  • C++ 54.3%
  • QML 42.9%
  • CMake 1.9%
  • GLSL 0.9%
Find a file
2026-03-16 08:37:32 +08:00
.github workflow: use doxygen from github release 2025-04-08 00:01:14 +00:00
assets corner animation and button size token 2026-03-15 21:08:02 +08:00
cmake install cmake config 2025-04-19 15:44:24 +00:00
doc doc: use readme as main page 2025-04-07 23:51:33 +00:00
example loading indicator 2026-03-16 08:37:32 +08:00
include/qml_material loading indicator 2026-03-16 08:37:32 +08:00
qml loading indicator 2026-03-16 08:37:32 +08:00
src loading indicator 2026-03-16 08:37:32 +08:00
third_party remove absl header 2025-07-01 23:08:42 +08:00
.clang-format add format 2026-03-15 21:08:09 +08:00
.gitattributes more doc and add workflow 2025-04-07 13:42:07 +00:00
.gitignore try support elevation corners 2026-03-15 17:23:34 +08:00
CMakeLists.txt loading indicator 2026-03-16 08:37:32 +08:00
LICENSE move to mit 2025-03-11 08:37:24 +00:00
README.md add quickshell to ackn 2025-06-15 04:09:57 +00:00
update_icon_code.sh update icon code 2025-03-31 11:39:17 +00:00

Material Design 3 for Qml

This is a library of Qml implementing Google's Material Design.

🌐 Live Demo

Dependencies

  • Qt 6.8+

Doc

Work in progress

Installation

  • Git LFS is required to clone fonts.
FetchContent_Declare(
  qml_material
  GIT_REPOSITORY https://github.com/hypengw/QmlMaterial.git
  GIT_TAG main
  # GIT_TAG <commit>
  EXCLUDE_FROM_ALL)
FetchContent_MakeAvailable(qml_material)

Usage

import Qcm.Material as MD

MD.Text {
  text: 'hello world'
}

Note

Never import Qcm.Material without as, unless you know what you are doing.

No QtQuick.Controls

This library only use QtQuick.Templates.
No needs to import QtQuick.Controls, unless you need control from Quick Control Style.

Some type annotations:

  • not accept Action, use MD.Action instead
  • not accept Attached Properties/Signals form QtQuick.Controls, use QtQuick.Templates as T
      import QtQuick.Templates as T
    
      T.Overlay.modal: ...
      T.ScrollBar.vertical: ...
      ...
    

Variation Icon

CMake option: QM_ICON_FONT_URL
The default is embedded static round icon with wght=400 opsz=24 GRAD=0 FILL=0/1.
There is also an embedded partial variation one: qrc:/Qcm/Material/assets/MaterialSymbolsRounded.wght_400.opsz_24.woff2.
Set the option to it if you need animation when switching FILL.

Note

The full variation font will cause huge memory usage. It's better to make partial with a font tool.

Acknowledgements