E-comon 发表于 2021-2-7 09:23:48

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失效了,我想问为什么会发生冲突呢?怎样解决才好?
页: [1]
查看完整版本: QResizeEvent 与setStyleSheet冲突