QWidget设置边框与背景色
时间: 2025-03-26 10:00:39 浏览: 41
在QT中,QWidget可以设置边框和背景色以定制其外观。这里有两个不同的方法:
1. **设置背景颜色**[^1]:
```cpp
void background::paintEvent(QPaintEvent *) {
QPainter p(this);
p.setPen(Qt::NoPen); // 不显示边框
/* 设置背景颜色 */
p.setBrush(Qt::red); // 可以替换为其他颜色如QColor("#FF0000") 或 QColor("red")
p.drawRect(rect()); // 绘制矩形填充背景色
}
```
这里通过`paintEvent`回调函数直接设置背景颜色,当窗口重绘时,背景会变为指定的颜色。
2. **设置背景图像**:
```cpp
// 获得Widget的调色板
QPalette palette = this->palette();
// 设置背景图片(注意:对于带样式的QWidget可能不生效)
palette.setBrush(QPalette::Window, QBrush(QPixmap(":/qss_icons/rc/networkBack11.png").
scaled(this->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)));
// 设置背景颜色并应用到窗口
this->setPalette(palette);
```
这里使用`QPalette`设置背景,首先要调整调色板,然后应用到窗口上。`QPixmap`用于加载图像资源,`scaled`函数用于适应窗口大小并保持图片质量。
阅读全文
相关推荐


















