QT无标题栏加移动窗体
来源:互联网 发布:php空格代码 编辑:程序博客网 时间:2024/05/01 20:20
添加几个成员变量
boolm_MousePressed;QPointm_MousePos;QPointm_WindowPos;
重载几个函数
void mousePressEvent(QMouseEvent *);void mouseReleaseEvent(QMouseEvent *);void mouseMoveEvent(QMouseEvent *);
实现如下
void MyClass::mousePressEvent(QMouseEvent *lpEvent){__super::mousePressEvent(lpEvent);if (lpEvent->button() == Qt::LeftButton){m_WindowPos = this->pos();m_MousePos = lpEvent->globalPos();this->m_MousePressed = true;}}void MyClass::mouseReleaseEvent(QMouseEvent *lpEvent){__super::mouseReleaseEvent(lpEvent);if (lpEvent->button() == Qt::LeftButton){this->m_MousePressed = false;}}void MyClass::mouseMoveEvent(QMouseEvent *lpEvent){if (m_MousePressed){this->move(m_WindowPos + (lpEvent->globalPos() - m_MousePos));}}
有没有必要调用父类函数不清楚,注释掉后未发现问题
另外需要在构造时调用
this->setWindowFlags(Qt::FramelessWindowHint);
以去掉标题栏,记得添加
#include <QPoint>#include <QMouseEvent>
避免出现“使用了未定义类型”的错误
- QT无标题栏加移动窗体
- QT无标题栏窗体移动
- QT无标题栏移动窗体
- 无标题栏窗体移动
- qt实现无标题栏的可移动窗体
- winform无标题栏移动窗体
- 如何移动无标题栏的窗体
- c# 实现无标题栏的窗体移动
- Winform 无标题栏可以移动窗体
- Qt:移动无边框窗体
- Qt - 移动无边框窗体
- Qt移动无边框窗体
- Qt:移动无边框窗体
- qt 移动无边框的窗体
- Qt—移动无边框窗体
- Qt实现无边框窗体的移动
- Qt学习二:移动无边框窗体
- Qt无边框窗体移动和缩放
- 椭圆与三角形碰撞测试
- android 生成Excel文件
- 关于EXPORT_SYMBOL
- wso2的Developer Studio缺斤少量问题
- JAVA中String与StringBuffer的区别
- QT无标题栏加移动窗体
- Train Problem II hdu 1023 卡特兰数 (模板)
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- maven 实战 (许晓斌)
- 关于Oracle里面lpad和rpad的使用
- java中的native方法
- 暴搜之1980 Unit Fraction Partition
- PHP高效率写法(详解原因)
- 线程池系列一:线程池作用及Executors方法讲解