Qt圆角窗体+半透明背景+右下角显示(移除窗体标题栏+置顶+不在任务栏显示)

现在转到Qt这块,很多东西使用起来确实像是到了另一个世界,特别是一些错误起初让人百思不得其解,比如bool类型的全局变量,你如果不先给它初始化一下,后面会出现一些非常莫名其妙的问题,别想当然的认为bool值默认就是false

最近刚好用到了如何对窗体设置圆角,如何设置透明背景,注意这边的透明只影响到窗体的背景,不影响窗体上的控件,还有如何让窗体在屏幕右下角显示,在此做个记录以备后用

    setWindowFlags (Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
    setAttribute(Qt::WA_TranslucentBackground);
    ui->btnBar->setFlat(true);
    ui->btnPie->setFlat(true);

    // 获取屏幕尺寸
    QDesktopWidget* desktop = QApplication::desktop();
    QRect deskRect = desktop->availableGeometry();
    //移到右下角显示
    move(deskRect.width() - this->width(), deskRect.height() - this->height());

上面这段代码放在构造函数中,其中Qt::Tool表示不在任务栏中显示,后面两个是去掉窗体标题栏以及置顶显示

setFlag(true)去掉按钮边框。


下面这段paintEvent则写出了如何对窗体进行圆角及半透明背景设置,其实也很简单 :)

void ****::paintEvent(QPaintEvent *)
{
    QPainter painter(this);

    QPainterPath path;
    path.addRoundRect(this->rect(), 5); //圆角设置
    //半透明背景
    painter.fillPath(path, QColor(92, 155, 203, 100));
}


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值