class MenuDashWidget(IconToolButton): """ A widget which displays a pop-up menu when clicked :param name: The name to give this widget. :type name: str :param icon: The icon to display in this widgets button. :type icon: str """ def __init__(self, name, icons=None, clicked_icons=None, icon_paths=[]): if icons == None: icons = [['ic-motors.svg']] super(MenuDashWidget, self).__init__(name, icons=icons, suppress_overlays=True, icon_paths=icon_paths) self.setStyleSheet( 'QToolButton::menu-indicator {image: url(none.jpg);} QToolButton {border: none;}' ) self.setPopupMode(QToolButton.InstantPopup) self.update_state(0) self.pressed.disconnect(self._pressed) self.released.disconnect(self._released) self._menu = QMenu() self._menu.aboutToHide.connect(self._released) self._menu.aboutToShow.connect(self._pressed) self.setMenu(self._menu) def add_separator(self): return self._menu.addSeparator() def add_action(self, name, callback): """ Add an action to the menu, and return the newly created action. :param name: The name of the action. :type name: str :param callback: Function to be called when this item is pressed. :type callback: callable """ return self._menu.addAction(name, callback)
def __init__(self, name, icons=None, clicked_icons=None, icon_paths=[]): if icons == None: icons = [['ic-motors.svg']] super(MenuDashWidget, self).__init__(name, icons=icons, suppress_overlays=True, icon_paths=icon_paths) self.setStyleSheet( 'QToolButton::menu-indicator {image: url(none.jpg);} QToolButton {border: none;}' ) self.setPopupMode(QToolButton.InstantPopup) self.update_state(0) self.pressed.disconnect(self._pressed) self.released.disconnect(self._released) self._menu = QMenu() self._menu.aboutToHide.connect(self._released) self._menu.aboutToShow.connect(self._pressed) self.setMenu(self._menu)
class MenuDashWidget(IconToolButton): """ A widget which displays a pop-up menu when clicked :param name: The name to give this widget. :type name: str :param icon: The icon to display in this widgets button. :type icon: str """ def __init__(self, name, icons=None, clicked_icons=None, icon_paths=[]): if icons == None: icons = [['bg-grey.svg', 'ic-motors.svg']] super(MenuDashWidget, self).__init__(name, icons=icons, suppress_overlays=True, icon_paths=icon_paths) self.setStyleSheet('QToolButton::menu-indicator {image: url(none.jpg);} QToolButton {border: none;}') self.setPopupMode(QToolButton.InstantPopup) self.update_state(0) self.pressed.disconnect(self._pressed) self.released.disconnect(self._released) self._menu = QMenu() self._menu.aboutToHide.connect(self._released) self._menu.aboutToShow.connect(self._pressed) self.setMenu(self._menu) def add_separator(self): return self._menu.addSeparator() def add_action(self, name, callback): """ Add an action to the menu, and return the newly created action. :param name: The name of the action. :type name: str :param callback: Function to be called when this item is pressed. :type callback: callable """ return self._menu.addAction(name, callback)
def __init__(self, name, icons=None, clicked_icons=None, icon_paths=[]): if icons == None: icons = [['bg-grey.svg', 'ic-motors.svg']] super(MenuDashWidget, self).__init__(name, icons=icons, suppress_overlays=True, icon_paths=icon_paths) self.setStyleSheet('QToolButton::menu-indicator {image: url(none.jpg);} QToolButton {border: none;}') self.setPopupMode(QToolButton.InstantPopup) self.update_state(0) self.pressed.disconnect(self._pressed) self.released.disconnect(self._released) self._menu = QMenu() self._menu.aboutToHide.connect(self._released) self._menu.aboutToShow.connect(self._pressed) self.setMenu(self._menu)