QT 窗口设置可拉伸背景图

void Widget::setBackground()
{
    const QString filePath = QDir::currentPath() + QLatin1String("/images/background.png");   // 这里的路径为安装包路径, 可以改为自己本地路径。
    QPixmap pixmap(filePath);
    QPalette palette = this->palette();
    palette.setBrush(backgroundRole(),QBrush(pixmap.scaled(this->size())));  // pixmap.scaled(this->size()) 这里需要注意,它决定了背景是否可拉伸。  
    setPalette(palette);
}
 
  
 
  
这只是初始化, 如果窗口大小改变,还是没效果所以,需要重写resizeEvent:
 
  
 
  
void Widget::resizeEvent(QResizeEvent *)
{
    setBackground();
}

 
 

你可能感兴趣的:(QT学习之路)