首页 > 其他分享 >qt拖动窗口

qt拖动窗口

时间:2024-05-21 14:40:45浏览次数:18  
标签:mouseReleaseEvent dragStarPos 窗口 qt 拖动 void QMouseEvent dragging event

void a::mousePressEvent(QMouseEvent *event)
{

    if(event->button()==Qt::LeftButton && event->pos().y()<(this->height()-mainWidget->height()))
    {

        m_dragging=true;
        m_dragStarPos=event->pos();
    }
}
void a::mouseMoveEvent(QMouseEvent *event)
{
    if(m_dragging==true)
    {
        this->move(event->globalPos()-m_dragStarPos);
    }
}
void a::mouseReleaseEvent(QMouseEvent *event)
{
    if(event->button()==Qt::LeftButton)
    {
        m_dragging=false;
    }
}

头文件

private:
    bool m_dragging=false;
    QPoint m_dragStarPos;


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

标签:mouseReleaseEvent,dragStarPos,窗口,qt,拖动,void,QMouseEvent,dragging,event
From: https://www.cnblogs.com/donghao99/p/18203963

相关文章

  • QT使用串口通信点击主界面通信阻塞
    1.问题导入在使用QT进行串口上位机开发时遇到鼠标点击主界面导致串口接收数据阻塞,无法继续在QT控件中更新接收到的数据。2.解决办法使用多线程:将串口通信放入子线程中。`QSerialPort*UARTDevide;//串口UART*newUART;//串口类QThreadUARTThred;//串口线程newUART->mo......
  • CLON + QT + CMAKE debug 不打印 (控制台不输出)
    原因:CMAKE设置了WIN32_EXECUTABLETRUE这表示了要生成一个GUI程序,而且WindowsGUI会禁用控制台输出将set_target_properties(aaPROPERTIESWIN32_EXECUTABLETRUE)修改为set_target_properties(aaPROPERTIESWIN32_EXECUTABLEFALSE)或者手动创建控制台:`//未......
  • 代码随想录算法训练营第十三天 | 239. 滑动窗口最大值 347. 前k个高频元素
    239.滑动窗口最大值题目链接文章讲解视频讲解思路:使用单调队列,来维护有可能成为最大值的元素;   当窗口向右滑动时,判断移除的元素是否是队首元素如果是的话出队;   新加入的元素依次和队尾元素作比较,如果大于队尾元素则将队尾元素循环出队,这样可以保证队列中始终维持......
  • QT基础语法与控件
    1.基础使用纯正的开源版本QT使用C++来实现QT使用QT可以使C++项目可视化本身也是C++的一个库允许跨平台QT特征面向对象,模块化设计调用,所有QT控件可继承控件之间的通信,signalslot友好的联机帮助,函数参数手册自定义控件设计QTCreator编译器集成开发环境IDE直接下载QT......
  • MQTT详解以及实际操作
    目录1MQTT1.1MQTT介绍1.1.1简介1.1.2特点和应用1.1.3为什么要用MQTT协议1.2MQTT控制报文的结构1.2.1固定报文头(FixedHeader)1.2.2可变报文头(VariableHeader)1.2.3有效负荷和消息类型1.2.4消息质量(QoS)1.4搭建MQTT服务1.5SpringBoot搭建提供端1.5.1pom.xml1.5.2修改......
  • Pyqt6&PySide6 事件与事件的处理函数
    什么是事件?事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。事件的类型与处理函数事件的概念与实列外界对P......
  • PyQt5 GUI编程(组件使用)
    一.简介PyQt5是一个用于创建图形用户界面(GUI)应用程序的Python绑定,它基于Qt库。PyQt5提供了大量的组件(也称为控件或部件),用于构建复杂的用户界面。以下是一些常用的PyQt5组件二.组件用法1.数字组件(QLCDNumber)classFileChooserApp(QWidget):def__init__(self):......
  • Qt学习第二篇(基本小组件的使用)
    Qt_2小部件是GUI的基本元素。它也称为UI控件。它接受来自底层平台的不同用户事件,如鼠标和键盘事件(以及其他事件)。我们使用不同的小部件创建UI。曾经有一段时间,所有的GUI控件都是从头开始编写的。Qt小部件通过开发具有现成的GUI控件的桌面GUI来缩短时间,并且Qt......
  • 一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)
    前言今天大姚给大家分享一款基于C#、WPF、Prism、MaterialDesign、HandyControl开发的通讯调试工具(支持ModbusRTU、MQTT调试,界面色彩丰富):Wu.CommTool。工具特点工具界面色彩丰富。支持ModbusRTU、MQTT服务器、MQTT客户端。ModbusRTU自动解析数据帧。智能防粘包,速度快也......
  • Qt/C++音视频开发74-合并标签图形/生成yolo运算结果图形/文字和图形合并成一个/水印滤
    一、前言在使用yolo做人工智能运算后,运算结果除了一个方框,还可能需要增加文字显示在对应方框上,以便标记是何种物体,比如显示是人还是动物,或者还有可能追踪人员,显示该人员的姓名。这种应用场景非常普遍,而且非常有必要,可以非常直观的直接看到对应移动的物体是什么。当然也有个缺点,就......