去除对话框边框 + 设置窗口可移动和透明+取消主窗口状态栏
2017-04-13 18:18
453 查看
1、去除对话框标题栏和边框
在构造函数里设置:
this->setWindowFlags(Qt::FramelessWindowHint);
Qt::Dialog (按照对话框的形式创建窗口--帮助/关闭)
Qt::Window (按照正常窗口的形式创建窗口--最大化/最小化/关闭)
2、窗口可移动
去除边框会造成窗口不可移动,可以通过以下方法来解决:
自定义鼠标按下事件和鼠标移动事件:
void yourwindow::mousePressEvent(QMouseEvent *event)
{
this->windowPos = this->pos(); // 获得部件当前位置
this->mousePos = event->globalPos(); // 获得鼠标位置
this->dPos = mousePos - windowPos; // 移动后部件所在的位置
}
void yourwindow::mouseMoveEvent(QMouseEvent *event)
{
this->move(event->globalPos() - this->dPos);
}
3、设置窗口透明
在构造函数中添加:
在构造函数里设置:
this->setWindowFlags(Qt::FramelessWindowHint);
Qt::Dialog (按照对话框的形式创建窗口--帮助/关闭)
Qt::Window (按照正常窗口的形式创建窗口--最大化/最小化/关闭)
2、窗口可移动
去除边框会造成窗口不可移动,可以通过以下方法来解决:
自定义鼠标按下事件和鼠标移动事件:
void yourwindow::mousePressEvent(QMouseEvent *event)
{
this->windowPos = this->pos(); // 获得部件当前位置
this->mousePos = event->globalPos(); // 获得鼠标位置
this->dPos = mousePos - windowPos; // 移动后部件所在的位置
}
void yourwindow::mouseMoveEvent(QMouseEvent *event)
{
this->move(event->globalPos() - this->dPos);
}
3、设置窗口透明
在构造函数中添加:
this->setAttribute(Qt::WA_TranslucentBackground);
4.取消主窗口状态栏
在主窗口ui文件右键单击,选中删除状态栏。
相关文章推荐
- Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
- Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
- 去除安卓自定义Dialog黑色背景,设置无边框,透明
- Qt开发:无边框异形窗口,透明背景,可移动
- 将对话框(窗口)设置成无边框无标题栏样式
- VC6.0 设置对话框窗口背景为透明
- 将对话框(窗口)设置成无边框无标题栏样式
- Qt 无边框、透明、可移动个性窗口
- Java程序中取消窗口标题栏以及边框,并使窗口可以相应鼠标事件,被鼠标拖动;设置JFrame背景色
- Qt 设置按钮透明、图标、移动到按钮和状态栏提示等各种属性
- 窗口状态栏的设置
- WinAPI: SetLayeredWindowAttributes - 设置窗口的透明
- 打开IE8总出现一个对话框怎么设置取消掉?
- MFC设置窗口透明
- 设置窗口背景透明
- Swing制作高仿QQ界面包含主界面、聊天窗口、系统设置窗口|圆角界面|透明|颜色|渲染|换肤
- 使用SetLayeredWindowAttributes函数设置窗口透明色与透明度
- 将普通对话框设置为CWnd*的子窗口
- ubuntu 设置透明 毛玻璃窗口
- [转]引用 VC 对话框设置位图背景并透明控件