qpushbutton设置图标颜色
时间: 2023-05-16 18:06:12 浏览: 169
您可以使用QIcon来设置QPushButton的图标颜色。首先,您需要创建一个QIcon对象,然后使用QPainter在图标上绘制所需的颜色。以下是一个示例代码:
QIcon icon;
QPixmap pixmap(":/path/to/icon.png");
QPainter painter(&pixmap);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(pixmap.rect(), QColor("#FF0000"));
icon.addPixmap(pixmap);
QPushButton button;
button.setIcon(icon);
这将创建一个红色的图标,并将其设置为QPushButton的图标。
相关问题
请帮我写一个Pyside2 QPushbutton的图标出现在文字上方的代码
好的,这是您要求的代码:
```
from PySide2.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PySide2.QtGui import QIcon
app = QApplication([])
window = QWidget()
button = QPushButton('Click Me!')
button.setIcon(QIcon('icon.png'))
button.setIconSize(button.sizeHint().height() - 10)
button.setStyleSheet("QPushButton::hover{background-color: #8f8f8f;}")
layout = QVBoxLayout()
layout.addWidget(button)
window.setLayout(layout)
window.show()
app.exec_()
```
这段代码利用 PySide2 库创建了一个简单的 GUI 窗口,并在窗口中添加了一个文字和图标都显示的按钮,其中图标出现在文字上方。 请注意,将 icon.png 替换为您想要显示的图像文件。另外,当鼠标悬停在按钮上时,按钮的背景颜色将变为灰色。
QPushButton样式设置
`QPushButton`是Qt中的一个控件,用于显示文本并允许用户点击交互。你可以使用多种方式来设置其样式,包括字体、颜色、边框和背景等。以下是一些基本的样式设置:
1. **文字和字体**:
使用`setFont()`方法更改字体,例如:
```cpp
QFont font;
font.setFamily(QStringLiteral("Arial"));
button.setFont(font);
```
2. **颜色**:
- 文本颜色:可以使用`setForegroundRole()`方法,比如:
```cpp
button.setForeground(Qt::red);
```
- 背景颜色:`setStyleSheet()`方法可以设置CSS样式的背景色:
```cpp
button.setStyleSheet("background-color: blue;");
```
3. **边框**:
可以设置边框宽度、样式和颜色:
```cpp
button.setBorderWidth(2); // 边框宽度
button.setFlat(true); // 设置无边框样式 (flat)
button.setAutoFillBackground(true);
button.setStyleSheet("border: 1px solid black;"); // 自定义边框样式
```
4. **图标和大小**:
可以使用`setIcon()`设置图标,并调整尺寸:
```cpp
QIcon icon(QIcon(":/icon.png")); // 加载资源路径
button.setIcon(icon);
button.setIconSize(QSize(16, 16)); // 图标大小
```
5. **状态改变**:
使用`setCheckable()`和`setChecked()`设置按钮是否响应单击切换状态,以及它的默认状态。
以上只是一部分基础样式设置,更多细节可以通过Qt文档深入了解。
阅读全文