找回密码
 立即注册
收起左侧

QResizeEvent 与setStyleSheet冲突

0
回复
8998
查看
[复制链接]
累计签到:11 天
连续签到:1 天
来源: 2021-2-7 09:23:48 显示全部楼层 |阅读模式
3Qter豆
我的按钮图片是通过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失效了,我想问为什么会发生冲突呢?怎样解决才好?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了