Source code for pymodaq_gui.examples.icons

import sys

from PyQt6.QtWidgets import (QApplication, QGridLayout, QPushButton, QStyle,
                             QWidget, QVBoxLayout)
from PyQt6.QtGui import QIcon


[docs] class Icons(): def __init__(self, widget: QWidget): super().__init__() self.widget = widget Ncol = 10 icons_style = sorted([attr for attr in dir(QStyle.StandardPixmap) if (attr.startswith("SP_"))]) icons_theme = sorted([icon_enum.name for icon_enum in QIcon.ThemeIcon]) self.widget.setLayout(QVBoxLayout()) layout_style = QGridLayout() for n, name in enumerate(icons_style): btn = QPushButton(name) pixmapi = getattr(QStyle.StandardPixmap, name) icon = self.widget.style().standardIcon(pixmapi) btn.setIcon(icon) layout_style.addWidget(btn, int(n/Ncol), int(n%Ncol)) layout_theme = QGridLayout() for n, name in enumerate(icons_theme): icon = QIcon.fromTheme(getattr(QIcon.ThemeIcon, name)) btn = QPushButton(name) btn.setIcon(icon) layout_theme.addWidget(btn, int(n/Ncol), int(n%Ncol)) self.widget.layout().addLayout(layout_style) self.widget.layout().addLayout(layout_theme)
[docs] def main(): app = QApplication(sys.argv) w = Icons(QWidget()) w.widget.show() app.exec()
if __name__ == "__main__": main()