新手的QSS使用案例

暑假开始学习qt的,最近想美化自己的ui界面,于是开始接触到qss这个东西。qss确实很好用,不过也没有css那么强大。下面是一些个人觉得蛮实用的方法。

1.添加背景图片,同时能自适应大小

 添加背景很简单啦,只要在最上层窗口添加资源就好了也可以满足图片自适应的要求,但是这会导致所有子类都加上相同的背景,就像这样:新手的QSS使用案例_第1张图片

 如果我们不想让qlabel加上背景该怎么办呢?修改样式表就可以啦!

新手的QSS使用案例_第2张图片

像这样用".父类“的格式,就可以消除父类qss对子类的影响。下面我们给qlabel加上背景看看效果。注意,直接在窗口里是看不到效果的,我们要ctrl+r预览一下才行。

新手的QSS使用案例_第3张图片 

 当然也可以直接在子类qss里添加背景,这样会把父类的背景直接覆盖。但是如果子类很多的话这样一个个操作很麻烦。

2.渐变按钮

参考这一篇把(5条消息) Qt QSS(样式表)按钮渐变色设计_独步天秤的博客-CSDN博客_qt渐变色按钮

3.qss的一些缺陷

qss确实没有css那么强大,我想弄一个高级的动画也没办法。

新手的QSS使用案例_第4张图片

 (源自网络https://youtu.be/e0lG5LK6wjE,侵删)

这样的动画要用到css中的transition,animation属性,可惜qt不支持。

或者我想让鼠标悬停在按钮上改变qlabel的样式还得重新把button实现,定义信号,太麻烦了。唉,qt的用户交互还是不太好。

最后吐槽一下qt的布局是真的难用啊!不布局就没法自适应窗口大小,一布局,又只能改变横向大小。最后我只好把窗口设定为固定大小,也就免去了自适应的难题。

你可能感兴趣的:(qt,开发语言)