(QT-UI)三、设置窗口为无边框悬浮窗

分为两步

1、将窗口设置为无边框形式

this->setWindowFlag(Qt::FramelessWindowHint);

如果想要同时设置其他Flag属性,需要加上s,即调用setWindowFlags,然后里面的属性按照“|”分格

//如果在类外设置,将this替换成对应控件指针即可
this->setWindowFlag(Qt::FramelessWindowHint);
wid->setWindowFlag(Qt::FramelessWindowHint);

2、将窗口设置为点击响应的悬浮窗状态,常见于windows菜单栏,日期设置栏

当点击窗口内部时,窗口保持不变,一旦点击非窗口内区域时,原有的悬浮窗会消失。

this->setWindowFlag(Qt::Popup);

3、将窗口设置为鼠标放置响应的悬浮窗状态,常见于qq头像预览,天气预览

可以通过捕捉进入和离开事件来实现,当然也可以通过捕获鼠标事件来判断,不过如下的写法也很简洁,当进入控件,将子控件设置为可见,

void MyWidget::enterEvent(QEvent *)
{
    m_FlowBar->setHidden(false);
}

当离开控件,将子控件设置为隐藏

void MyWidget::leaveEvent(QEvent *)
{
    m_FlowBar->setHidden(true);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值