qt中widget背景图覆盖
时间: 2023-11-21 13:44:23 浏览: 159
在Qt中覆盖widget背景图有几种方法,具体取决于widget的类型和版本。可以使用以下方法之一来设置widget的背景图片:
1. 对于继承自QScrollView的widget,可以使用setStaticBackground函数和setPaletteBackgroundPixmap函数来设置背景图片。例如,在QListView上使用setPaletteBackgroundPixmap函数来设置背景图片:
```cpp
QListView* lv = new QListView();
lv->setStaticBackground(true);
lv->setPaletteBackgroundPixmap(QPixmap("logo.png"));
```
2. 对于QTextEdit等常规widget,可以使用setPaper函数和setBackgroundOrigin函数来设置背景图片。例如,在QTextEdit上使用setPaper函数和setBackgroundOrigin函数来设置背景图片:
```cpp
QTextEdit* edit = new QTextEdit();
QBrush brush;
brush.setPixmap(QPixmap("logo.png"));
edit->setPaper(brush);
edit->setBackgroundOrigin(QWidget::WindowOrigin);
```
3. 对于一般的QLabel等widget,可以使用setPaletteBackgroundPixmap函数和setBackgroundOrigin函数来设置背景图片。例如,在QLabel上使用setPaletteBackgroundPixmap函数和setBackgroundOrigin函数来设置背景图片:
```cpp
QLabel* label = new QLabel();
label->setPaletteBackgroundPixmap(QPixmap("logo.png"));
label->setBackgroundOrigin(QWidget::WindowOrigin);
```
阅读全文