QSS 按钮按下修改延时
时间: 2023-10-21 14:05:42 浏览: 74
QSS 按钮按下修改延时的具体操作步骤如下:
1. 找到需要修改的按钮,或者在代码中新建一个按钮。
2. 在按钮的属性中设置其样式表(QSS),例如:
```
QPushButton {
background-color: green;
border: 2px solid black;
border-radius: 10px;
min-width: 80px;
min-height: 30px;
}
QPushButton:pressed {
background-color: red;
border: 2px solid black;
border-radius: 10px;
min-width: 80px;
min-height: 30px;
}
```
上述代码中,按钮的默认样式为绿色背景,黑色边框,圆角为 10px,最小宽度为 80px,最小高度为 30px。当按钮被按下时,样式变为红色背景,黑色边框,圆角为 10px,最小宽度为 80px,最小高度为 30px。
3. 如果需要修改按钮的按下效果延时,可以使用 `QPropertyAnimation` 类来实现。例如:
```
QPushButton {
background-color: green;
border: 2px solid black;
border-radius: 10px;
min-width: 80px;
min-height: 30px;
}
QPushButton:pressed {
background-color: red;
border: 2px solid black;
border-radius: 10px;
min-width: 80px;
min-height: 30px;
animation-duration: 500ms;
}
QPushButton:pressed:hover {
animation-duration: 0s;
}
QPushButton:pressed:!hover {
animation-duration: 500ms;
}
QAbstractButton {
color: white;
font-size: 16px;
}
QAbstractButton:disabled {
color: gray;
}
QAbstractButton:hover {
background-color: gray;
}
QAbstractButton:pressed {
background-color: darkgray;
}
QAbstractButton:checked {
background-color: darkgray;
}
QAbstractButton:checked:hover {
background-color: gray;
}
QAbstractButton:checked:pressed {
background-color: gray;
}
```
上述代码中,按钮被按下时,会有 500ms 的动画效果。如果鼠标在按钮上方悬停,则动画效果立即执行,否则延时 500ms 执行。其他的样式表是为了更好的按钮效果而设置的,可以根据需要进行修改。
4. 最后,将样式表应用到按钮上即可。例如:
```
QPushButton *btn = new QPushButton("Button");
btn->setStyleSheet("/* 上述样式表 */");
```
阅读全文