QT creator 如何给主窗口添加背景图片,并且上面的控件能够覆盖背景图片?

QT creator 如何给主窗口添加背景图片,并且上面的控件能够覆盖背景图片?,第1张

在makefile的构造函数里这么写...

QPixmap pixmap("E:\\making\\background\\sonico.jpg")这个图片路径写自己的.

QPalette palette=this->palette()

palette.setBrush(QPalette::Background,QBrush(pixmap))

this->setPalette(palette)

使用stylesheet的时候要让其余的控件不继承这个规则.详细做法请查看 qss 规则.

QMainWindow需要派生出一个类,然后重写void paintEvent(QPaintEvent *)函数,

void MainWindow::paintEvent(QPaintEvent*)

{

    QPainter p(this)

    QPixmap pix

    pix.load("文件路径")//相对路径或者绝对路径

    painter.drawPixmap(x, y, w, h, pix)    //x、y:图片绘制位置,w, h:绘制图片宽度、高度

}

Qt4版本以上可在构造函数中加入如下代码

RcMainWindow::RcMainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::RcMainWindow)

{

ui->setupUi(this)

QPixmap pixmap(":/img/background.bmp")

QPalette palette

palette.setBrush(backgroundRole(), QBrush(pixmap))

setPalette(palette)

}

此外也可实现继承自父类QMainWindow的虚函数paintEvent,并在该函数中加入同样代码。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7921764.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存