Skip to main content

QtMDI (Qt Material Design Icons)

Project description

SWUbanner

QtMDi (Qt Material Design icons)

license pypi version

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:

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 unsupported
  • Optical size property currently unsupported

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.

Source Distribution

qtmdi-1.1.72.tar.gz (32.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qtmdi-1.1.72-py3-none-any.whl (32.1 MB view details)

Uploaded Python 3

File details

Details for the file qtmdi-1.1.72.tar.gz.

File metadata

  • Download URL: qtmdi-1.1.72.tar.gz
  • Upload date:
  • Size: 32.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qtmdi-1.1.72.tar.gz
Algorithm Hash digest
SHA256 5711d8c70506d74a505113d0d9f0efd70b99c5a4d5f7a99f33d7ff42b5a10c22
MD5 394cc9da4fe7141a3d3ded3955a90fad
BLAKE2b-256 9ee34b6f225bd55a96461d6cbb7244f666c10b0b22d1df0f059062abc2148431

See more details on using hashes here.

Provenance

The following attestation bundles were made for qtmdi-1.1.72.tar.gz:

Publisher: python-publish.yml on o-murphy/QtMDi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qtmdi-1.1.72-py3-none-any.whl.

File metadata

  • Download URL: qtmdi-1.1.72-py3-none-any.whl
  • Upload date:
  • Size: 32.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qtmdi-1.1.72-py3-none-any.whl
Algorithm Hash digest
SHA256 1694091d7214d7f7eeec8919f6c7cb60f64c3b3c14c9d4595c99423f607c64d3
MD5 fe689bb30bd2f4fae8dee2563064d162
BLAKE2b-256 7c7df486004cc2dd0b56a6234e8614661eedec311e35e40d1092b73099c14ba8

See more details on using hashes here.

Provenance

The following attestation bundles were made for qtmdi-1.1.72-py3-none-any.whl:

Publisher: python-publish.yml on o-murphy/QtMDi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page