Qt 設置背景圖片反走樣兩種方法


說明:本次實驗采用QPainter和QPalette兩種方法實現背景反走樣

方法一:

采用畫筆QPainter

//QPainter::Antialiasing           告訴繪圖引擎應該在可能的情況下進行邊的反鋸齒繪制
//QPainter::TextAntialiasing       盡可能的情況下文字的反鋸齒繪制
//QPainter::SmoothPixmapTransform  使用平滑的pixmap變換算法(雙線性插值算法),而不是近鄰插值算法

 

painter.setRenderHint(QPainter::Antialiasing, true);

方法二:

采用調色板QPalette

//不失真縮放方法
scaled(width,height,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
//第一、二參數代表縮放后的尺寸,第三個參數代表忽略比例,也可調用IgnoreAspectRatio保持長寬比例,第四個參數代表平滑處理,使圖片縮小時不失真。

/* 設置背景圖片 */
    QPixmap pixmap = QPixmap(QString::fromUtf8(":/image/Image/羅盤背景1.png"))\
            .scaled(ui->qwtPlot->size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
    QPalette palette;
    palette.setBrush(QPalette::Background, QBrush(pixmap));//backgroundRole()
    ui->qwtPlot->setStyleSheet(QString::fromUtf8("border:none;"));//去除邊框
    ui->qwtPlot->setPalette(palette);
    ui->qwtPlot->setAutoFillBackground(true);

 

附加:去除控件邊框

    ui->qwtPlot->setStyleSheet(QString::fromUtf8("border:none;"));//去除邊框

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM