【发布时间】:2016-04-02 11:44:10
【问题描述】:
我已经厌倦了搜索!
我从 QPushbutton 继承了一个 Button 并将我的 QSS 设置为它。样式是需要的。
我想要的只是当按钮悬停时(enterevent 发生)按钮的颜色在特定时间(例如 0.2 秒)内发生变化,而不是立即(柔和的颜色变化)
我该怎么办?
*******在 PyQt4 中回答************
class MyButton(QPushButton):
def __init__(self):
super(MyButton, self).__init__()
self.setMinimumSize(80,50)
self.setText('QPushButton')
def getColor(self):
return Qt.black
def setColor(self, color):
self.setStyleSheet("background-color: rgb({0}, {1}, {2});border:none;".format(color.red(), color.green(), color.blue()))
color=QtCore.pyqtProperty(QColor, getColor, setColor)
def enterEvent(self, event):
global anim
anim=QPropertyAnimation(self, "color")
anim.setDuration(200)
anim.setStartValue(QColor(216, 140, 230))
anim.setEndValue(QColor(230, 230, 230))
anim.start()
def leaveEvent(self, event):
self.setStyleSheet("background:none;")
【问题讨论】:
标签: qt pyqt pyqt5 qpushbutton