def data(self, index, role=QtCore.Qt.DisplayRole): if role == QtCore.Qt.DisplayRole: return self._icons[index.row()] elif role == QtCore.Qt.DecorationRole: return ico.Icon(self.data(index, role=QtCore.Qt.DisplayRole), anim=anim) return None
def data(self, index, role=QtCore.Qt.DisplayRole): # type: (QtCore.QModelIndex, QtCore.Qt.ItemRole) -> Any """ Re-implemented to return the icon for the current index. Parameters ---------- index : QtCore.QModelIndex role : int Returns ------- Any """ if role == QtCore.Qt.DecorationRole: iconString = self.data(index, role=QtCore.Qt.DisplayRole) return ico.Icon(iconString) return super(Model, self).data(index, role)
def test_icon(qtbot, validIconPath): anim = iconify.anim.Spin() color = QtGui.QColor('red') icon = iconify.Icon( 'delete', color=color, anim=anim, ) pixmapGenerator = icon.pixmapGenerator() assert pixmapGenerator.anim() is anim assert pixmapGenerator.color() is color assert icon.anim() is anim button = QtWidgets.QPushButton() icon.setAsButtonIcon(button) button.show()
def test_multiState(qtbot, validIconPath): redColor = QtGui.QColor('red') blueColor = QtGui.QColor('blue') spinAnim = iconify.anim.Spin() breatheAnim = iconify.anim.Breathe() icon = iconify.Icon('delete', color=redColor, anim=breatheAnim) assert icon.animCount() == 1 assert icon.color() == redColor assert icon.anim() is breatheAnim # Add a second state icon.addState( 'spinners:dots', mode=QtGui.QIcon.Active, ) assert icon.animCount() == 2 # The color and anim kwargs are expected to fall back # to the values on the 'default' state when not provided. assert icon.anim(mode=QtGui.QIcon.Active) == breatheAnim assert icon.color(mode=QtGui.QIcon.Active) == redColor # Replace that state with something else icon.addState( 'spinners:colored', anim=spinAnim, mode=QtGui.QIcon.Active, ) assert icon.animCount() == 2 assert icon.anim(mode=QtGui.QIcon.Active) == spinAnim assert icon.color(mode=QtGui.QIcon.Active) == redColor # Add a third state icon.addState( 'spinners:dots', color=blueColor, mode=QtGui.QIcon.Selected, ) assert icon.animCount() == 3 assert icon.anim(mode=QtGui.QIcon.Selected) == breatheAnim assert icon.color(mode=QtGui.QIcon.Selected) == blueColor
def __init__(self): super(SideBar, self).__init__() # read StyleSheet with open('QSS/sideBar.qss', 'r') as f: self.setStyleSheet(f.read()) f.close() # Vertical Layout self.verticalLayout = QVBoxLayout() self.verticalLayout.setContentsMargins(0, 0, 0, 0) # Icons camera_icon = ico.Icon('font-awesome:solid:camera-retro', QColor('#E91E63')) database_icon = ico.Icon('font-awesome:solid:database', QColor('#03A9F4')) about_icon = ico.Icon('font-awesome:solid:exclamation-triangle', QColor('#FDD835')) # logo image logo = QLabel() logo.setFixedSize(110, 110) logo_img = QPixmap('resources/qt.png') logo.setPixmap(logo_img) logo.setContentsMargins(20, 20, 20, 20) # bottom label like spacer bottom_label = QLabel() # Create Buttons btn_width = 110 btn_height = 40 self.Camera = QToolButton() self.Camera.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.Camera.setObjectName('Camera_btn') self.Camera.setText(' Camera') self.Camera.setFixedSize(btn_width, btn_height) self.Camera.setIcon(camera_icon) self.Camera.setIconSize(QSize(20, 20)) self.DataBase = QToolButton() self.DataBase.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.DataBase.setObjectName('customers_btn') self.DataBase.setText(' DataBase') self.DataBase.setFixedSize(btn_width, btn_height) self.DataBase.setIcon(database_icon) self.DataBase.setIconSize(QSize(20, 20)) self.About = QToolButton() self.About.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.About.setObjectName('About_btn') self.About.setText(' About') self.About.setFixedSize(btn_width, btn_height) self.About.setIcon(about_icon) self.About.setIconSize(QSize(20, 20)) # add widget self.verticalLayout.setSpacing(0) self.verticalLayout.addWidget(logo) self.verticalLayout.addWidget(self.Camera) self.verticalLayout.addWidget(self.DataBase) self.verticalLayout.addWidget(self.About) self.verticalLayout.addWidget(bottom_label) self.setLayout(self.verticalLayout)
lyt.addWidget(buttonThree) frame.setLayout(lyt) frame.show() # Apply iconify icons spinnerSvg = "github" spinnerTwoSvg = "spinners:colored" deleteSvg = "delete" clockwiseSpinningAnim = ico.anim.Spin( direction=ico.anim.Spin.Directions.CLOCKWISE) antiClockwiseSpinningAnim = ico.anim.Spin() + ico.anim.Breathe() spinnerIcon = ico.Icon(spinnerSvg, color=QtGui.QColor.fromHsv(65, 200, 200), anim=clockwiseSpinningAnim) spinnerIconTwo = ico.Icon(spinnerTwoSvg, anim=clockwiseSpinningAnim) spinnerIconTwoAlt = ico.Icon(spinnerTwoSvg, color=QtGui.QColor.fromHsv(300, 150, 200), anim=antiClockwiseSpinningAnim) deleteIcon = ico.Icon(deleteSvg, color=QtGui.QColor.fromHsv(5, 200, 200)) buttonOne.setIcon(deleteIcon) buttonOne.clicked.connect(clockwiseSpinningAnim.toggle) buttonOne.clicked.connect(antiClockwiseSpinningAnim.toggle) spinnerIcon.setAsButtonIcon(buttonTwo) spinnerIconTwo.setAsButtonIcon(buttonThree)