下面介绍两种方法给 vs 建立的 qt 工程界面添加背景图!!!
1、使用代码实现界面添加背景图
//给窗口添加背景图 QPixmap Images("./1.png"); QPalette Palette = this->palette(); Palette.setBrush(QPalette::Background, Images); this->setPalette(Palette);
说明:使用该方法实现界面添加背景图能够正常显示,如上图所示,但是如果需要把该工程打包成 .exe 然后移植到别的电脑运行,需要注意以下两个细节:
(1)把背景图放到该工程文件中(如下图),并在代码中使用相对路径(代码如上所示);
(2)在 .exe 文件目录再复制一份背景图(如下所示);
说明:此时移植后的 .exe 便能正常在界面上显示背景图;
2、使用样式表实现界面添加背景图
(1)双击 c++ 工程中的 .ui 文件,打开后右击界面,选择改变样式表,出现如下窗口
(2)点击添加资源右侧的下三角图标,并点击 background-image 出现如下界面
(3)点击左侧铅笔图标,然后点击左下侧的打开资源图标,出现如下界面
(4)选择 c++ 工程文件下的 .qrc 文件,点击打开,然后编辑资源界面中便有了相应的 .qrc 文件
(5)点击右侧方框下侧的添加文件,选择自己的背景图,出现如下界面
(6)选中添加进去的背景图,点击 OK ,此时背景图添加成功
(7)从上图可以看出在添加背景图后,别的控件也都受到了影响,所以在添加背景图时需要加作用域,#myProcess{background-image: url(:/myImageRegistration/1.png);} 其中 myProcess 是该界面所在类名称,从界面的右侧也可以看出
(8)添加作用域后的结果如下图
(9)在编辑器中虽然显示添加成功,但是在运行代码时,该背景图并未成功显示,如果哪位大佬知道原因,望告知,非常感谢!
3、控件的字体和颜色设置
控件的字体和颜色设置也是通过修改样式表,如下图所示:
background-color:rgb(46, 140, 140); //设置背景颜色 font: 14pt "Comic Sans MS"; //设置字体格式 color:rgb(255, 255, 255); //设置字体颜色 说明: 在设置控件背景颜色时需要加前缀 background-color: 在设置字体颜色时需要加前缀 color: 否则会提示样式表无效!