Skip to content

widgets

PlaceholderLineEdit

Bases: QLineEdit

Set placeholder color of QLineEdit in Qt 5.12 and higher.

Source code in common/ayon_common/connection/ui/widgets.py
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class PlaceholderLineEdit(QtWidgets.QLineEdit):
    """Set placeholder color of QLineEdit in Qt 5.12 and higher."""

    def __init__(self, *args, **kwargs):
        super(PlaceholderLineEdit, self).__init__(*args, **kwargs)
        # Change placeholder palette color
        if hasattr(QtGui.QPalette, "PlaceholderText"):
            filter_palette = self.palette()
            color = QtGui.QColor("#D3D8DE")
            color.setAlpha(67)
            filter_palette.setColor(
                QtGui.QPalette.PlaceholderText,
                color
            )
            self.setPalette(filter_palette)

PressHoverButton

Bases: QPushButton

Keep track about mouse press/release and enter/leave.

Source code in common/ayon_common/connection/ui/widgets.py
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class PressHoverButton(QtWidgets.QPushButton):
    """Keep track about mouse press/release and enter/leave."""

    _mouse_pressed = False
    _mouse_hovered = False
    change_state = QtCore.Signal(bool)

    def mousePressEvent(self, event):
        self._mouse_pressed = True
        self._mouse_hovered = True
        self.change_state.emit(self._mouse_hovered)
        super(PressHoverButton, self).mousePressEvent(event)

    def mouseReleaseEvent(self, event):
        self._mouse_pressed = False
        self._mouse_hovered = False
        self.change_state.emit(self._mouse_hovered)
        super(PressHoverButton, self).mouseReleaseEvent(event)

    def mouseMoveEvent(self, event):
        mouse_pos = self.mapFromGlobal(QtGui.QCursor.pos())
        under_mouse = self.rect().contains(mouse_pos)
        if under_mouse != self._mouse_hovered:
            self._mouse_hovered = under_mouse
            self.change_state.emit(self._mouse_hovered)

        super(PressHoverButton, self).mouseMoveEvent(event)