加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

Qt 自定义Qframe的背景,自定义PushBtton的Icon

发布时间:2020-12-15 00:41:46 所属栏目:C语言 来源:网络整理
导读:关于QFrame设置颜色的部分,需要放到setUI后面 QPalette palette = ui->frame->palette(); // palette.setColor( backgroundRole(),QColor( 255,105,105 ) ); palette.setBrush( backgroundRole(),QBrush(QPixmap(":/image/all.jpg"))); ui->frame->setPalet

关于QFrame设置颜色的部分,需要放到setUI后面

 QPalette palette = ui->frame->palette();
   // palette.setColor( backgroundRole(),QColor( 255,105,105 ) );
    palette.setBrush( backgroundRole(),QBrush(QPixmap(":/image/all.jpg")));
    ui->frame->setPalette( palette );
    ui->frame->setAutoFillBackground( true );
    ui->pushButton->setIcon(QIcon(":/image/close1.ico"));

圆窗口角设置

   setWindowFlags(Qt::FramelessWindowHint);
 //==========实现上边角圆弧==========
// setWindowFlags(Qt::FramelessWindowHint);
 QBitmap bmp(this->size());
 bmp.fill();
 QPainter p(&bmp);
 p.setBrush(Qt::black);
 p.setRenderHint(QPainter::Antialiasing);    //抗锯齿
 //p.drawRoundedRect(bmp.rect(),20,20); //四个角都是圆弧
 //只要上边角圆弧
 int arcR = 10;    //弧度
 QRect rect = this->rect();
 QPainterPath path;
 //逆时针
 path.moveTo(arcR,0);
 path.arcTo(0,arcR * 2,90.0f,90.0f);
 path.lineTo(0,rect.height());
 path.lineTo(rect.width(),arcR);
 path.arcTo(rect.width() - arcR * 2,0.0f,90.0f);
 path.lineTo(arcR,0);
 p.drawPath(path);
 //p.fillPath(path,QBrush(Qt::Red)); //arm和windows平台没有这行代码将显示一个透明的空空的框
 setMask(bmp);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读