Пытаюсь найти примеры как задать анимацию кнопки при нажатии и наведении на неё. Пока без успешно, гугл мне не хочет помогать. Прошу поделиться секретными манускриптами)
В идеале хочу совместить css анимацию c QPushButton
Как вариант:
import sys
from PyQt5.QtCore import QPropertyAnimation, QRect
from PyQt5.QtWidgets import (QApplication, QPushButton, QWidget,
QHBoxLayout, QSpacerItem, QSizePolicy)
class ZoomButton(QPushButton):
def __init__(self, *args, **kwargs):
super(ZoomButton, self).__init__(*args, **kwargs)
self._animation = QPropertyAnimation(
self, b'geometry', self, duration=200)
def updatePos(self):
# Запишите свое собственное фиксированное значение геометрии
self._geometry = self.geometry()
self._rect = QRect(
self._geometry.x() - 6,
self._geometry.y() - 2,
self._geometry.width() + 12,
self._geometry.height() + 4
)
def showEvent(self, event):
super(ZoomButton, self).showEvent(event)
self.updatePos()
def enterEvent(self, event):
super(ZoomButton, self).enterEvent(event)
self._animation.stop() # Остановить анимацию
# Изменить начальное значение анимации
self._animation.setStartValue(self._geometry)
# Изменить конечное значение анимации
self._animation.setEndValue(self._rect)
self._animation.start()
def leaveEvent(self, event):
super(ZoomButton, self).leaveEvent(event)
self._animation.stop()
self._animation.setStartValue(self._rect)
self._animation.setEndValue(self._geometry)
self._animation.start()
def mousePressEvent(self, event):
self._animation.stop()
self._animation.setStartValue(self._rect)
self._animation.setEndValue(self._geometry)
self._animation.start()
super(ZoomButton, self).mousePressEvent(event)
class TestWindow(QWidget):
def __init__(self, *args, **kwargs):
super(TestWindow, self).__init__(*args, **kwargs)
# 1. Присоединяйтесь к макету
layout = QHBoxLayout(self)
layout.addSpacerItem(QSpacerItem(
40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))
self.button1 = ZoomButton('Кнопка', self)
layout.addWidget(self.button1)
layout.addSpacerItem(QSpacerItem(
40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))
def showEvent(self, event):
super(TestWindow, self).showEvent(event)
# Обновить расположение кнопки
self.button1.updatePos()
def resizeEvent(self, event):
super(TestWindow, self).resizeEvent(event)
# Обновить расположение кнопки
self.button1.updatePos()
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyleSheet("""
QPushButton {
border: none;
font-weight: bold;
font-size: 16px;
border-radius: 18px;
min-width: 180px;
min-height: 40px;
background-color: blue; /*white;*/
}
QPushButton:hover {
background-color: #64b5f6;
}
QPushButton:pressed {
background-color: #bbdefb;
}
""")
w = TestWindow()
w.show()
sys.exit(app.exec_())
Виртуальный выделенный сервер (VDS) становится отличным выбором
Интересует такой вопрос, срабатывает ли событие fetch в ServiceWorker при обращении к не-origin доменам? Или же можно обрабатывать обращения только на свой...
Я делаю веб страничку, которая ведет стрим с youtube, как мне сделать, чтобы при запуске страницы видео начинало идти со звуком? Если я запускаю...
Ниже код, в котором должна иконка microphone меняться на microphone-slash и наоборот в зависимости от режима отображения (воспроизведение или пауза)
С новым годом всех! Есть ссылка <a href='id?<php script>'>Статистика</a> она у меня находиться в меню юзера, но если просто добавить #tabs-2 к той...