QT QToolButton 如何不要hover效果
时间: 2023-07-04 21:14:33 浏览: 276
要禁用 QToolButton 的 hover 效果,可以使用 QToolButton 的 setStyleSheet() 函数来设置样式表,具体实现方法如下:
```python
button.setStyleSheet("QToolButton:hover{ background-color: none; }")
```
这将禁用 QToolButton 的 hover 效果,使其在鼠标悬停时不会有任何反应。
相关问题
qt QToolButton使用qss修改图片颜色
在Qt中,QToolButton是一种工具按钮,常用于提供额外的功能。如果你想通过样式表(qss)修改QToolButton上的图片颜色,你可以利用`border-image`、`color`以及相关的CSS属性。这里是一个简单的例子:
首先,假设你的QToolButton有一个名为`icon`的图像,并且你想将图片的颜色变为红色。在`.qstyle-sys-hover`等状态下的样式可以这样设置:
```css
.QToolButton {
border-image: url(:/path_to_your_icon.png) stretch;
color: transparent; /* 确保背景透明以便看到改变后的图片颜色 */
}
.QToolButton:hover {
border-color: red; /* 修改鼠标悬停时图片边框颜色 */
background-color: rgba(255, 0, 0, 0.8); /* 修改图片颜色为半透明的红色 */
border-image-color: red; /* 如果需要,也可以直接修改图片颜色 */
}
/* 你可以添加更多的状态样式,如pressed、selected等 */
.QToolButton:selected {
border-color: darkred;
background-color: rgba(128, 0, 0, 0.6);
}
```
记得将`url(/path_to_your_icon.png)`替换为你实际图片的路径。然后,你可以将这个样式应用到你的QToolButton上:
```cpp
QToolButton *button = new QToolButton(this);
button->setIcon(QIcon(":/path_to_your_icon.png"));
button->setStyleSheet(your_css_style_string);
```
Qt cpp QToolButton 设置悬浮态图标
要设置QToolButton的悬浮态图标,可以通过以下步骤实现:
1. 使用QToolButton的setStyleSheet()函数设置悬浮态的样式表。
例如:
```
QToolButton:hover {
border-image: url(:/images/hover.png);
}
```
这将在鼠标悬浮在QToolButton上时显示名为hover.png的图像。
2. 使用QToolButton的setToolTip()函数设置悬浮时要显示的提示信息。
例如:
```
toolButton->setToolTip("Click me!");
```
这将在鼠标悬浮在QToolButton上时显示“Click me!”的提示信息。
注意:在使用QToolButton的setStyleSheet()函数设置样式表时,如果设置了正常态和按下态的样式,也可以在其中设置悬浮态的样式。例如:
```
QToolButton {
border-image: url(:/images/normal.png);
}
QToolButton:hover {
border-image: url(:/images/hover.png);
}
QToolButton:pressed {
border-image: url(:/images/pressed.png);
}
```
这样,当鼠标处于不同状态时,QToolButton会根据相应的样式表进行显示。
阅读全文