Beispiel #1
0
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)
Beispiel #2
0
    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)