给自编的qt程序添加背景可以美化qt程序的外观,现介绍两种添加背景的方法: 1、如果单纯拷到板子上运行显示背景,可以重写paintEvent()事件,在该事件中用画笔QPainter的方式画整个背景,该方法在把程序添加到桌面后背景无法正常显示。 void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.drawPixmap(0,0,width(),height(),QPixmap("./11.png")); } 经验证png格式的图片可以正常显示,其他格式的例如jpg格式是无法显示的 2、使用样式表,该方式将图片作为资源文件添加到工程中,通过读取资源文件完成背景的设置。该方式在把程序添加到桌面后依然可以正常显示。下面简介一下步骤: (1)把背景图片作为Qt资源文件添加到项目中,在资源文件中添加前缀/image,然后将图片添加进来如下图: 注:先点击Add Prefix添加前缀,再点Add Files添加图片文件 (2)Qt样式表可以存放以.qss为后缀的文件,所以可以在程序中调用不同的.qss文件实现不同背景的替换。在资源文件中添加“/qss”前缀,再添加资源文件,在左侧细目列表处右击添加文件,选择General中的文本文档,命名为my.qss,可以多添加几个。然后参照添加图片的方法将此文件添加到/qss前缀下。 然后编辑此文本文档,下面的代码仅供参考: 然后在MainWindow的构造函数中调用此文档即可,如下: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QFile file(":/qss/my.qss"); file.open(QFile::ReadOnly); QString styleSheet=tr(file.readAll()); qApp->setStyleSheet(styleSheet); } 这样就可以将图片设置为背景图案了 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-22 15:08
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.