No description
  • C++ 53.7%
  • QML 42.5%
  • CMake 1.9%
  • GLSL 1.8%
Find a file
2026-05-04 09:25:21 +00:00
.github workflow: use doxygen from github release 2025-04-08 00:01:14 +00:00
assets uniform ripple 2026-04-25 07:43:07 +00: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 example add sized btn 2026-05-04 09:25:21 +00:00
include/qml_material segmented btn size 2026-05-04 04:14:44 +00:00
qml TextField dense 2026-05-04 08:41:59 +00:00
src segmented btn size 2026-05-04 04:14:44 +00:00
tests Merge branch 'main' into feature/add_badge 2026-04-30 11:07:56 +03: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 add ignore 2026-03-24 04:28:44 +00:00
CMakeLists.txt Merge branch 'main' into feature/add_badge 2026-04-30 11:07:56 +03:00
LICENSE move to mit 2025-03-11 08:37:24 +00:00
README.md math module and blur_mask 2026-04-19 11:36:17 +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