这是最终效果:
想要图片跟随窗口自适应大小,首先我们先对QWidget进行网格布局,布局效果如下:
布局完成后添加 QLabel 代码,新建 QLabel 并且设置为可扩展内容,再设置图片放置最后面,否则图片在最前面会遮挡控件。
label = new QLabel(this); // 新建一个标签
label->setScaledContents(true); // 设置标签为可扩展内容
label->setPixmap(QPixmap("2.png")); // 设置图片
label->lower(); // 将图片放置后面
然后重写 qt 的绘画事件:
void paintEvent(QPaintEvent*) override;
这是绘画事件的实现代码:文章来源:https://www.toymoban.com/news/detail-550819.html
void Widget::paintEvent(QPaintEvent*)
{
label->resize(ui->widget->size());
}
将标签调整为我们布局 QWidget 的大小便大功告成!
原理就是当我们拉伸窗口或者放大缩小窗口时会执行绘画事件,利用 QWidget 的布局自适应大小,将我们的 QLabel 调整成 QWidget 的大小,从而达到图片的自适应窗口大小。文章来源地址https://www.toymoban.com/news/detail-550819.html
到了这里,关于【QT】 QLabel背景图片自适应窗口大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!