Qt利用setstylesheet给控件设置背景图片不能显示

可以说,用Qt做窗口界面是很方便的,尤其是用c++实现功能的工程来说。


由于本人现在还是大学本科,在实验室大二的时候用Qt做东西打过酱油,这次毕设又捡起来了,虽然忘得差不多了。


其中有个问题一直困扰我好久,就是用setstylesheet给控件设置背景图片的时候,找来找去运行程序的时候设置的背景图片就是不显示。


现在总结一下自己发现的一些问题,以及使用setstylesheet设置qt控件背景图片时的一些注意事项。

(鉴于一些大众的方法和问题其他有很多解释的,这里就不说了


1.在设置的项目基类为Widget的时候,不能用setstylesheet设置widget的背景图片。

而要为整个窗口设置背景图片,可以向其中添加一个Frame覆盖这个窗口,这样就可以使用了。

2.在为qt工程添加资源文件之后,会先让添加一个前缀,这个时候要注意了!!!

本人的问题就是出现在这里。设置前缀的时候,一般默认为/new/prefix1,如果设置为这个前缀,在用setstylesheet添加资源图片的时候一定要写上!例如本人的资源图片放在了和.pro文件同一级的文件夹picture中的时候,url要写为url(:/new/prefix1/picture/xxx.jpg),千万不要忘了这个前缀!

3.如果在qt creator中设置了样式表背景图片,接着在.cpp文件中利用setstylesheet函数设置了其他样式的话,则qt creator中的设置不会显示。因为qt的样式只以最后一句setstylesheet函数为准,所以所有的样式要在一句语句中设置。


以上就是我使用setstylesheet函数设置样式的时候遇到的一些问题了。希望对一些像我这样的有帮助/尴尬

展开阅读全文

没有更多推荐了,返回首页