赞
踩
分为两步
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);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。