QT中QResizeEvent 为何与setStyleSheet冲突?

我的按钮图片是通过setStyleSheet进行设置的,当点击按钮后就会改变。

if(ui->btnPowerOn->isChecked())
{
        ui->label->setStyleSheet("QLable{border-image:url(:/background-image/kai.png)}");
        ui->btnPowerOff->setChecked(false);
}

由于我的组件是单独放上去的,因此不会随着窗口拉伸而变化,因此我加了resizeEvent的函数,希望能将其和窗口同步缩放。

void widget:resizeEvent( QResizeEvent* e)
{
         QSize oldSize,size;
         oldSize = e->oldSize(); //获取开始的size
         size = e->size();       //获取现在的size
         
         //获取长宽变化的比率
         qreal ratioW,ratioH;
         ratioW = size.width()/oldSize.width();
         ratioH = size.height()/oldSize.height();
         
         //窗体中的控件按比例缩放
         ui->lable->resize(QSize(ui->lable->size().width()*ratioW,
                                               ui->label->size.height()*ratioH));

结果这样导致组件无法显示,或者setStyleSheet失效了,我想问为什么会发生冲突呢?怎样解决才好?

发错误代码

全部代码贴上来

单纯是为了你的悬赏,ui->label->setStyleSheet("QLable{border-image:url(:/background-image/kai.png)}");

这个地方错了,去掉       QLable

ui->label->setStyleSheet("border-image:url(:/background-image/kai.png)");