QtMDI (Qt Material Design Icons)
Project description
QtMDi (Qt Material Design icons)
Copyright 2023 Yaroshenko Dmytro (https://github.com/o-murphy)
The extension for QtAwesome with the latest variable icon fonts for Material Symbols
(Python 3, PySide, PyQt)
[!NOTE] Fonts in this package automatically updated, so it will always have the latest icons from Google
[!NOTE] The package is publishing to PyPi automatically, so it can have issues in some releases
[!NOTE] The package uses QtAwesome as it's backend, so it support all the feature provided by QtAwesome, for more see the docs
Installation
Install the [latest release][releases] from PyPi using:
pip install QtMDi
Install the latest updated version from github:
pip install https://github.com/o-murphy/QtMDi
Usage
Supported Fonts
QtAwesome identifies icons by their prefix and their icon name, separated by a period (.) character.
The following prefixes are currently available to use:
mds
prefix has Google material design icons symbols stylemdf
prefix has Google material design icons variablefont style
Example
Import qtawesome and qtmdi in your python file:
import qtawesome
import qtmdi
Icon creation example
# basic rounded
qtawesome.icon("mds-rounded-base.home")
# rounded with 700 width
qtawesome.icon("mds-rounded-700.home")
# rounded with 400 width
qtawesome.icon("mds-sharp-400.home")
# basic variablefont ttf based icon
qtawesome.icon("mdf-sharp.home")
Create an app
from qtpy import QtWidgets
class Example(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.lt = QtWidgets.QVBoxLayout(self)
self.btn = QtWidgets.QToolButton(self)
self.btn.setIcon(
qtawesome.icon("mdi-rounded-700.home_filled"),
)
self.btn.setFixedSize(48, 48)
self.btn.setIconSize(32, 32)
self.lt.addWidget(self.btn)
Load extension on your app instance
import sys
from qtpy import QtWidgets
import qtawesome
import qtmdi
# Create an app
class Example(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.lt = QtWidgets.QVBoxLayout(self)
self.btn = QtWidgets.QToolButton(self)
self.btn.setIcon(
qtawesome.icon("mds-rounded-700.home"),
)
self.btn.setFixedSize(48, 48)
self.btn.setIconSize(32, 32)
self.lt.addWidget(self.btn)
def run():
app = QtWidgets.QApplication()
# Load extension on your app instance
qtmdi.load(app)
qtawesome.dark(app)
w = Example()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
run()
Available Icons
To see available icons run qtmdi-browser in your terminal
qtmdi-browser
Known issues
- Filled icons not shown as expected
Grade
property currently unsupportedOptical size
property currently unsupported
License
- MIT License. Copyright 2023 Yaroshenko Dmytro (https://github.com/o-murphy) See the LICENSE file for details.
-
The Google material design icons fonts is licensed under the Apache License Version 2.0.
-
The material-symbols package is licensed under the Apache License Version 2.0.
-
The QtAwesome licensed under the MIT License. Copyright 2015 - The Spyder development team. See the LICENSE file for details.
-
The Font Awesome and Elusive Icons fonts are licensed under the SIL Open Font License.
-
The Phosphor font is licensed under the MIT License.
-
The Material Design Icons font is licensed under the Apache License Version 2.0.
-
The Remix Icon font is licensed under the Apache License Version 2.0.
-
Microsoft's Codicons are licensed under a Creative Commons Attribution 4.0 International Public License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.