首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Qt Creator 設定背景圖片自然拉伸且去除邊框黑邊

     編輯:程式設計綜合問答

使用 QPixmap 設定背景時,若圖片有黑邊且拉伸後比例失真,可透過 QPalette 與 QBrush 控制縮放模式:

QPixmap bg("./share/homeBG/defaultHomeBG.svg");
bg = bg.scaled(this->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
QPalette palette;
palette.setBrush(QPalette::Window, QBrush(bg));
this->setPalette(palette);

或在 paintEvent 中繪製:

void HomeView::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.drawPixmap(rect(), QPixmap(":/images/bg.png"));
}

若圖片本身含黑邊,建議先用圖片編輯軟體裁切,或在程式中以 QPixmap::copy() 移除邊框後再縮放。

參考:CSDN 部落格

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved