Skip to content

🎨 Qt widgets-based implementation of the Material Design specification.

License

Notifications You must be signed in to change notification settings

Zhang-Tianxu/qt-material-widgets

 
 

Repository files navigation

Qt Material Design Desktop Widgets

  Language 

YouTube video preview available here.


I've been using Qt for a while, the lack of UI framework is a big problem for me.

After building UI components from scratch for a while, I decided to try reusing other's projects, that is no piece of cake.

I found qt-material-widgets, but sadly it seems to be no longer supported.

Pull requests from other developer, such as move to cmake which inspired me on migrating this project from qmake to CMake, are not accepted anymore.

I'm very honored to try to take over the maintenance of this project, and welcome all pull requests and issues.

Overview

The original project only supports the qmake build system on Linux platform.

The new project will support both qmake and CMake on as many platforms as possible, mainly Windows, Android ,Linux and MacOS.

Usage

Use as dynamic library

Download the dynamic library for your platform and unzip it.

ps: On Windows, you need to download the Release or Debug version depending on the build type.

CMake

If your project uses CMake, then add the following to your CMakeLists.txt

target_include_directories(${PROJECT_NAME} PUBLIC /path/to/dynamic-lib/include/)
if(WIN32)
target_link_libraries(${PROJECT_NAME} PRIVATE /path/to/dynamic-lib/components.lib)
endif()
if(UNIX)
target_link_libraries(${PROJECT_NAME} PRIVATE /path/to/dynamic-lib/components.so)
endif()

qmake

I encountered some strange problems when building with qmake, such as failure on the first run but subsequent runs working fine, so I recommend using cmake. If you still choose qmake, add these two lines to your .pro file

LIBS += -L/path/to/dynamic-lib -lcomponents
INCLUDEPATH += /path/to/dynamic-lib/include

Run example

  1. clone this project
git clone https://github.com/Zhang-Tianxu/qt-material-widgets
  1. open CMakeLists.txt/qt-material-widgets.pro in root directory of this repo by Qt Creator
  2. select a build Kit and run

progress

App Bar QtMaterialAppBar
Auto Complete QtMaterialAutoComplete
Avatar QtMaterialAvatar
Badge QtMaterialBadge
Check Box QtMaterialCheckBox
Circular Progress QtMaterialCircularProgress
Dialog QtMaterialDialog
Drawer QtMaterialDrawer
FAB QtMaterialFloatingActionButton
Flat Button QtMaterialFlatButton
Icon Button QtMaterialIconButton
Progress QtMaterialProgress
Radio Button QtMaterialRadioButton
Raised Button QtMaterialRaisedButton
Scroll Bar QtMaterialScrollBar
Slider QtMaterialSlider
Snackbar QtMaterialSnackBar
Tabs QtMaterialTabs
Text Field QtMaterialTextField
Toggle QtMaterialToggle

Implemented components

  • App Bar
  • Auto Complete
  • Avatar
  • Badge
  • Check Box
  • Circular Progress
  • Dialog
  • Drawer
  • Floating Action Button
  • Flat Button
  • Icon Button
  • Progress
  • Radio Button
  • Raised Button
  • Scroll Bar
  • Slider
  • Snackbar
  • Tabs
  • Text Field
  • Toggle

Work in progress

  • Divider
  • ComboBox

Not implemented

  • Card
  • Chips
  • Discrete Slider
  • Grid List
  • Icon Menu
  • Search Field
  • Select Field
  • Stepper
  • Subheaders
  • Toolbar
  • List
  • List Item
  • Menu
  • Paper
  • Snackbar Layout
  • Table

About Android support

example can compile and run properly, but UI not fit to mobile.

About

🎨 Qt widgets-based implementation of the Material Design specification.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.7%
  • Other 1.3%