可以说,用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函数设置样式的时候遇到的一些问题了。希望对一些像我这样的有帮助/尴尬