前言
设置widget的背景图片,并在背景图片上放置别的图片
直接上代码:
头文件
void paintEvent(QPaintEvent *);
cpp文件:
void MainWindow::paintEvent(QPaintEvent *)
{
//创建画家,指定绘图设备
QPainter painter(this);
//创建QPixmap对象
QPixmap pix;
//加载图片
pix.load(":/res/PlayLevelSceneBg.png");
//绘制背景图
painter.drawPixmap(0,0,this->width(),this->height(),pix);
//加载标题
pix.load(":/res/Title.png");
//缩放图片
pix = pix.scaled(pix.width()*0.5,pix.height()*0.5);
//绘制标题
painter.drawPixmap( 10,30,pix.width(),pix.height(),pix);
}
paintEvent方法是qt原本就有的方法,调用绘画事件,只需重写该方法,在cpp文件中也无需主动调用
翻译:
处理在事件参数中传递的绘制事件。
默认实现什么也不做。 重新实现这个函数来执行绘画。 如有必要,可从事件中检索脏区。
效果图:
注意
图片的路径是我们需要注意的问题,因为qt采用影子构建的方法,可执行程序的位置和源文件不在同一个位置。图片的相对路径是根据可执行文件而定的,…/是可执行程序的当前路径
在右键图片,可快速复制图片路径
不会添加资源文件的同学,可查看这篇文章
链接:qt添加资源文件
码字不易,如果这篇博客对你有帮助,麻烦点赞收藏,非常感谢!有不对的地方,可以评论区交流。