首页 > 其他分享 >QT 事件拖动窗口

QT 事件拖动窗口

时间:2024-09-13 09:24:00浏览次数:12  
标签:窗口 QT 拖动 auto pos return false ev event

//上面缺号头文件,自行添加哦 class DragtidgetFilter :public Qobject{
public:
  DragWidgetFilter(QObject* parent) :Q0bject(parent){}  //重写事件
  bool eventFilter(Qobject* object,QEvent* event)
  {    auto n= dynanic_cast<QWidget*>( object);
    if(!w) return false;
  
    if(event→type()==QEvent::MouseButtonPress)
    {
      auto ev= dynamic_cast<QMouseEvent*>(event);
      if(!ev) return false;
      pos=ev→pos();
    }
    else if(event→type()==QEvent::MouseMove)    {
      auto ev= dynamic_cast<QMouseEvent*>(event);
      if(!ev)
      return false;
      if(ev→buttons()&Qt::MouseButton::LeftButton) w→move(ev→globalPosition().toPoint()-pos);
    }
  }  return qobject::eventFilter(object, event);}
private:
  QPoint pos;
};

 

标签:窗口,QT,拖动,auto,pos,return,false,ev,event
From: https://www.cnblogs.com/hech/p/18411604

相关文章

  • QT QSystemTrayIcon创建系统托盘区图标失败
    前言在开发个人项目时,需要在Windows系统托盘区创建一个图标,在代码中,我使用的是QT的QSystemTrayIcon类进行图标创建,但是在加上图片资源后,一直没有图标显现。我使用的是Qt6,Windows11系统。示例代码QSystemTrayIcon*trayIcon=newQSystemTrayIcon(this);trayIco......
  • 【oj刷题】滑动窗口篇:滑动窗口的应用场景和注意事项
    前言:滑动窗口其实基本原理还是双指针,但在双指针中左右指针可能会有回退操作,而滑动窗口的左右指针只会向前走,不会回退,下面就来讲解一下滑动窗口的概念和具体操作(主要是例题讲解)目录一、什么是滑动窗口?二、滑动窗口的原理三、滑动窗口的算法实现四、滑动窗口的例题讲解......
  • pyqt、pyside界面关闭后自动保存已设置参数
    超简单、低耦合!pyqt、pyside界面关闭后自动保存已设置参数文章目录超简单、低耦合!pyqt、pyside界面关闭后自动保存已设置参数前言正文初始思路实现思路1.`getattr()`:用于返回一个对象的属性值。2.`findChildren()`:获得满足条件的所有子对象代码实现`restore_scr......
  • QT绘图控件
    下载示例代码voidPlanetSystem::initSystem(){//PlanetNode(公转半径,公转速度,自身半径,自转速度,颜色)rootPlanet=newPlanetNode(0,0.0f,40,1.5f,QColor(255,0,0));PlanetNode*p0=newPlanetNode(100,1.5f,15,1.5f,QColor(255,255,0));......
  • UNO.Skia.Gtk 设置窗口尺寸变化方法
    本文记录一个简单的在UNO.Skia.Gtk应用里面,配置GTK平台修改窗口尺寸的方法为了全平台通用性,推荐是走定义接口加平台注入的方式。定义的接口如下publicinterfaceIWindowActivator{voidResizeMainWindow(Sizesize);}这里为了方便起见,直接使用静态属性注入方法,如......
  • vue3 判断浏览器打开窗口页签变化
       场景:当需要同时打开两个页签,需要在切换页签的时候,重新获取数据    根据document.visibilityState结果判断。如果为visible则证明回到当前页签, 如果为hidden则证明当前页面未显示(前往了其他页签)import{onMounted,onUnmounted}from'vue';consthan......
  • MQTT 协议概述
    目录一、概述二、协议模型1、组成部分2、客户端3、服务器三、MATT通信过程1、连接服务器2、订阅主题3、发布消息4、取消订阅5、断开连接四、MQTT数据包结构1、MQTT固定头2、MQTT可变头3.Payload消息体五、示例演示一、概述MQTT(MessageQueuingTelemetryTr......
  • 【转】[C#][WPF] 避免窗口最大化时遮盖任务栏
    转自:https://learn.microsoft.com/zh-cn/previous-versions/msdn10/dd366102(v=MSDN.10)WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后(比如很多情况下你会覆盖默认的窗体样式,即不采用Windows默认的边框和最大化最等按钮,来打造个性的窗......
  • Java学习1:命令行窗口执行.java程序(自用)
    编写源代码:编译与执行:1、普通方法:生成了.class文件(字节码)2、从Java11开始,由单个文件构成的java程序,无需编译,可以直接执行。使用这种方法也不产生.class文件。该方法可快速测试程序。但源文件必须是单个的.java文件。问题:文件名与public类名是否必须相同?答:不一定......
  • UNO 设置平台进入全屏窗口模式的方法
    本文记录在UNOPlatform的桌面窗口项目里,进入和退出全屏窗口的方法,此方法包括UNO的WPF和GTK和WinUI版本的实现在2024.06的5.2.139的UNO版本里面,可通过如下简单方法进入全屏Microsoft.UI.Xaml.Windowwindow=...window.AppWindow.SetPresenter(AppWindowPrese......