QSS在Qwidget下不生效

重写paintEvent()函数

void MainWidget::paintEvent(QPaintEvent *e)
{
    QStyleOption opt;
    opt.init(this);
    QPainter painter(this);
    style()->drawPrimitive(QStyle::PE_Widget,&opt,&painter,this);
    QWidget::paintEvent(e);
}

查到的最多的解决方法就是重写paintEvent()函数来解决QSS在Qwidget中不生效的问题,但是最后发现重写这个函数是用来解决QSS在子Qwidget中不生效的,所以对我的问题没有任何作用。

用记事本写好QSS然后再改成qss文件后成功

最开始是直接在qt中新建了一个资源文件,然后在资源文件中新建了qss,然后在cpp文件中调用qss文件,用此方式qss文件能顺利读取,就是不能成功使用里面写好的样式,最后尝试直接用记事本写好qss文件然后成功使用样式。

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