QT qss 设置的坑
CSS大家习惯了,一般大家找个对象,然后给他设置上CSS就行了。
但是如果你随便找了一个CSS,然后设置了QSS,一不小心就会被引入到各种奇怪的问题里去,比如说右键菜单只有一半了,自定义的各种控件表现都不正常了等等。
这主要是因为在QT中,如果你不带命名空间,也就是类似 QPushbutton这样的对象限定,那么你一不小心可能会给一个QWidget设置了CSS,这下事情大条了,因为所有的子类都会被这个QSS影响。
在html里,CSS影响的是这个范围内某某元素的显示,边界很清楚。
在QT中,QSS影响的是这个范围内所有类对象的显示,父类直接影响子类,边界难以确定。因此一定要给子类对象设置QSS,不要觉得是容器对象就能设置,因为他改变的是所有的子类行为。