无边框窗体的移动

this->setWindowFlags(Qt::FramelessWindowHint);//设置窗体为无边框
鼠标移动窗体移动涉及到三个事件分别是:鼠标按下、鼠标移动、鼠标松开,这三个事件在Qwidget中是虚函数

在QWidget中找到可以通过帮助–>搜索QWidget–>protected Functions中找到,复制到widget.h中

class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);

private:
Ui::Widget *ui;

QPoint z;

};

widget.cpp
void Widget::mouseMoveEvent(QMouseEvent *event)
{
QWidget::mouseMoveEvent(event);

QPoint y = event->globalPos();//鼠标相对于桌面左上角的位置,鼠标全局位置
QPoint x = y - this->z;this->move(x);

}

void Widget::mousePressEvent(QMouseEvent *event)
{
QWidget::mousePressEvent(event);

QPoint y = event->globalPos();//鼠标相对于桌面左上角的位置,鼠标全局位置
QPoint x = this->geometry().topLeft();//窗口左上角相对于桌面左上角的位置,窗口位置
this->z = y - x;//定值,不变的

}

void Widget::mouseReleaseEvent(QMouseEvent *event)
{
QWidget::mouseReleaseEvent(event);

this->z = QPoint();//鼠标松开的时候,将z值初始化

}

qt无边框窗体的移动相关推荐

  1. Qt无边框窗体(Windows)

    Qt无边框窗体Windows篇 去掉标题栏和边框 实现拖拽功能 还原窗体功能 注意点 我们可以做的更好 添加阴影 亚克力面板效果 结语 去掉标题栏和边框 首先第一步我们要通过设置系统绘制的边框消失 s ...

  2. QT无边框窗体改变大小 很顺畅

    近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo, ...

  3. 无边框窗体和用户控件以及权限

    无边框窗体: 就是吧窗体的边框去掉,然后自己做按钮设置功能. 无边框窗体的移动: 将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用 1 //窗体移动API 2 [Dl ...

  4. 再谈无边框窗体的操作

    本文介绍操作无边框窗体的其他几个方面的技巧. 设置浮动菜单 通常情况下,在无边框窗体中不能设置菜单.如果在无边框窗体中设置了菜单,运行时窗体上就会出现标题栏.那么,是否在无边框窗体中就不能使用菜单了呢 ...

  5. 无边框窗体移动的方法

    文章目录 1 无边框窗体移动的方法 1.1 无边框窗体移动的方法 1 无边框窗体移动的方法 1.1 无边框窗体移动的方法 当我们把窗体设置为无边框后,会发现用鼠标拖动窗体时是没有反应的,我们需要在窗体 ...

  6. 通过调用API函数实现的无边框窗体的拖拽,比判断坐标更快捷

    在winform程序中,有时会选择边框设计会none,但是这样就不能拖拽窗体移动 解决方案有二: 1,判断坐标控制拖拽 2.利用API函数, 下面介绍利用API函数,方便,快捷 #region 移动无 ...

  7. 01.WPF中制作无边框窗体

    [引用:]http://blog.csdn.net/johnsuna/article/details/1893319 众所周知,在WinForm中,如果要制作一个无边框窗体,可以将窗体的FormBor ...

  8. 【C#】使用DWM实现无边框窗体阴影或全透窗体

    1.无边框窗体阴影,win7(需要开启Aero效果)及以上系统 public class LdwmForm : Form{public LdwmForm(){Initialize();}/// < ...

  9. 拖动无边框窗体(VB6代码)

    简单代码片段,记录一下备用. Option Explicit Dim mX As Long, mY As Long Private Sub Form_MouseDown(Button As Integ ...

  10. C# WinForm 无边框窗体,加阴影、拖动、改变大小等功能完美实现(自认为是完美的 ^=^)

    关于Winform的无边框窗体实现,网络上有很多大牛文章,这里不赘述.我也是参考网络上的思路,在使用别人的代码基础上,发现和遇到了很多小问题,所以做了改造,以下做个记录,也是给需要的人提供一点思路,如 ...

最新文章

  1. 制作灵动单片机MM32F3277 测试版
  2. 异构平台同步(mysql--oracle)
  3. Pandas 表格样式设置指南,看这一篇就够了!
  4. nginx 内置变量
  5. 如果reporting server出现“无法安装打印控件”的处理方法。
  6. cla c 语言编译器,第九章 CLA_C2000_C_Compiler.pdf
  7. 第七章 递推与递归 第3课 攀天梯(ladder) --《聪明人的游戏:信息学探秘.提高篇》
  8. 撬动百亿VRAR产业,让VR们“造”起来
  9. Spark算子:RDD行动Action操作(2)–take、top、takeOrdered
  10. 五子棋等级考试软件的开发(五)
  11. Jieba库与wordcloud库的学习汇总
  12. Mac m1安装jmeter
  13. 什么样的人适合当领导
  14. 今日网易邮箱126无法访问
  15. 91461452469259f108dee0593bece4cb
  16. [读书笔记]精力管理(The Power of Full Engagement)
  17. LeetCode T46 Permutations
  18. PXE+Kickstart 无人值守装机
  19. 商品添加-选择商品类型自动加载商品属性
  20. ROS中的坐标与坐标系转换

热门文章

  1. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡
  2. 校内校园网络技术标书(三少原创)
  3. 聚类数据生成函数--make_blobs()
  4. 如何区分PNP型和NPN型?
  5. 【论文阅读】Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
  6. 3D扁平化高绩效五项管理PPT模板
  7. html5海洋模板,海洋cms模板 海洋cms影视模板 海洋cms模板简洁
  8. 基于java springboot android 安卓记账本源码(毕设)
  9. 无Internet访问权限-已解决
  10. 游戏开发需要具备哪些技术?