pyqt5 无边框窗口拖动

2023-10-27

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys


class Example(QWidget):
    _startPos = None
    _endPos = None
    _isTracking = False

    def __init__(self):
        super().__init__()
        self._initUI()

    def _initUI(self):
        self.setFixedSize(QSize(400, 400))
        self.setWindowFlags(Qt.FramelessWindowHint)  # 无边框
        self.show()

    def mouseMoveEvent(self, e: QMouseEvent):  # 重写移动事件
        self._endPos = e.pos() - self._startPos
        self.move(self.pos() + self._endPos)

    def mousePressEvent(self, e: QMouseEvent):
        if e.button() == Qt.LeftButton:
            self._isTracking = True
            self._startPos = QPoint(e.x(), e.y())

    def mouseReleaseEvent(self, e: QMouseEvent):
        if e.button() == Qt.LeftButton:
            self._isTracking = False
            self._startPos = None
            self._endPos = None


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyqt5 无边框窗口拖动 的相关文章

随机推荐

  • 1.linux系统基础笔记(互斥量、信号量)

    操作系统是很多人每天必须打交道的东西 因为在你打开电脑的一刹那 随着bios自检结束 你的windows系统已经开始运行了 如果问大家操作系统是什么 可能有的人会说操作系统就是windows 就是那些可以放大 缩小 移动的窗口 对曾经是计算
  • Jenkins & Harbor

    Harbor 环境搭建 https github com goharbor harbor releases tag v2 5 6 点击下载地址安装包 安装 解压安装包 root localhost tar zxvf harbor offli
  • #if、#else、#endif、#elif、#ifdef、#ifndef的区别和使用

    常用的条件编译 if elif else endif ifdef ifndef 看名字就知道 跟我们平时用的if elseif else是 一样的 不同的是这里一定要记得 endif if 条件 1 代码 1 elif 条件 2 代码 2
  • HashMap底层原理:数据结构+put()流程+2的n次方+死循环+数据覆盖问题

    导航 Java笔记 踩坑汇总 Java基础 进阶 JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 MySQL高级篇 设计模式 常见面试题 源码 vincewm的博客 CSDN博客
  • 聊聊 220V交流 过零检测

    聊聊过零检测 以及如何实现过零检测 by 矜辰所致 增加测试结果 2023 6 20 目录 前言 一 什么是过零检测 1 1 为何需要过零检测 二 如何做过零检测 2 1 光耦 2 2 比较器 运放 2 3 三极管 MOS管 2 4 过零检
  • 利用哈弗曼编码

    1 课本教材习题5 18 a 根据字母及空格出现的频率 可构造哈夫曼树 1 根据字母及空格出现的频率 可构造哈夫曼树 如下图 利用哈夫曼编码定义 可得出哈夫曼编码为 z 1111011000 q 1111011001 x 111101101
  • python回文字符串编程_Python刷题:最长回文子串(字符串)

    题目描述 给定一个仅包含小写字母的字符串 求它的最长回文子串的长度 所谓回文串 指左右对称的字符串 解题思路 当字符串不为空时 回文子串最少也是一个字符 即初始长度为1 当回文子串更长时 就可能有两种情况 例如 aa 或 aba 即长度 1
  • 支持Blazor的保护!代码保护工具.NET Reactor v6.3.0.0全新出发

    NET Reactor是一个功能强大的代码保护和软件许可系统 适用于为 NET Framework编写的软件 并支持生成 NET程序集的所有语言 NET Reactor迎来了久违的版本更新 进入v6 3 0 0全新时代 支持Blazor保护
  • 【Vue】v-for循环图片绝对路径,图片无法显示

    1 src 和 src
  • 微信扫码跳转小程序并传参

    1 打开微信公众平台 微信公众平台 扫码登录小程序的后台 开发 开发管理 开发设置 扫普通链接二维码打开小程序 添加 2 输入业务域名 3 下载校验文件 这里我用一个aa txt来替代 把他放到test文件夹下 3 修改nginx的配置文件
  • 27岁活的像个废物一样,没技术没学历,现在学习软件测试还来得及吗?

    为什么会学习软件测试 27岁了 算一下8年了 工作了一年 就没去工作就一 直在家 家里固定每个月给2000 偶尔一个月有四千 但依旧没钱 家里给了一套房子 出门200米就是地铁站 三室 厅住7楼 自己一个人住 属于没有钱 却又饿不死的状态
  • Klokki Mac版常见问题解答

    Klokki Slim Mac破解版是Mac平台上的一款任务管理应用 Klokki Slim Mac版直接从菜单栏提供了一种强大而漂亮的时间跟踪方法 专注于你的工作 享受一种高效的方式来跟踪你在项目上的时间 Klokki 和Klokki S
  • 分类算法原理及python实现(一)

    文章目录 一 分类算法的概念 1 概念 2 应用 3 统计学分类与机器学习分类的区别 4 概率模型与非概率模型基本思想 二 分类算法 1 逻辑回归 2 朴素贝叶斯 3 K近邻 一 分类算法的概念 1 概念 输出变量Y为有限个离散值的预测问题
  • WSL2中设置DNS后重启终端又失效的解决方法

    转载地址 https www xieshasha love wsldns iiMemory WSL2 用着是挺好的 就是发现了一个问题 郁闷了好久 修改 etc resolv conf可以自己设置 dns 但重启 WSL 以后 手动设置的
  • Linux系统与管理 - (四)VIM编辑器

    目录 自说 学习路径 工作模式 基本操作 自说 vim在以前unix系统中叫做VI编辑器 不过现在我们用到vim编辑器较多 它们之间最大的区别在于 vim编辑器具备有编程的能力 并且文字有各种颜色方便我们辨别 设计 vim其实类似于我们Wi
  • [附源码]计算机毕业设计Python+uniapp基于小程序的得物的租借平台se5eb(程序+lw+远程部署)

    附源码 计算机毕业设计Python uniapp基于小程序的得物的租借平台se5eb 程序 lw 远程部署 该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 项目运行环境配置 Python3 7 7 Django Mysql5
  • FPGA学习—数码管显示

    FPGA学习 数码管显示 文章目录 FPGA学习 数码管显示 结构框架 一 硬件设计 二 verilog编写 1 计数器 2 译码模块 3 数码管扫描模块 4 顶层模块 实验结果 结构框架 数码管动态显示采用了人眼暂存的原理 即时分复用 在
  • MYSQL基础篇(一)

    前言 作者主页 雪碧有白泡泡 个人网站 雪碧的个人网站 推荐专栏 java一站式服务 React从入门到精通 前端炫酷代码分享 从0到英雄 vue成神之路 uniapp 从构建到提升 从0到英雄 vue成神之路 解决算法 一个专栏就够了 架
  • elctron项目_Electron-vue脚手架改造vue项目的方法

    1 什么是Electron Electron可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用 你可以把它看作是专注于桌面应用而不是 web 服务器的 io js 的一个变体 这不意味着 Electron 是某个
  • pyqt5 无边框窗口拖动

    from PyQt5 QtWidgets import from PyQt5 QtCore import from PyQt5 QtGui import import sys class Example QWidget startPos N