Qt子控件样式不生效,因为父控件样式设定

Posted smh2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt子控件样式不生效,因为父控件样式设定相关的知识,希望对你有一定的参考价值。

在帮助中搜索qt style sheets

技术图片

 

 找到这句话:

If we want the property to apply only to one specific QLineEdit, we can give it a name using QObject::setObjectName() and use an ID Selector to refer to it:

意思是如果不想子控件继承父控件,就在父控件加#

    if(m_MainWidget.objectName().isEmpty()){
        m_MainWidget.setObjectName("backLineEdit");
    }
    m_MainWidget.setStyleSheet("QWidget#backLineEdit{border-image:url(:/image/background.jpg);}");
m_MainWidget是父控件,先setObjectName一个名,随便起一个,然后#加上这个名字。这样子控件就不会继承父控件的样式了。

以上是关于Qt子控件样式不生效,因为父控件样式设定的主要内容,如果未能解决你的问题,请参考以下文章

如果样式已经设置,如何覆盖 WPF 子控件样式?

为啥在Qt中用qss对同类的控件有不同的效果

WPF宽度100%,我想wpf的子控件的宽度跟父控件的宽度一样,当父控件宽度改变的时候子控件随着改变,请问有啥!

Qt 中自定义小部件的自定义样式

如何以样式访问控件父级的属性

Qt 库中控件的默认 HTML 样式