iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >PyQt5项目中无边框后窗口出现移动问题如何解决
  • 772
分享到

PyQt5项目中无边框后窗口出现移动问题如何解决

2023-06-08 00:06:54 772人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关PyQt5项目中无边框后窗口出现移动问题如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。判断鼠标左键是否被按下,如果按下则将flag设为True并获取当前的

这篇文章将为大家详细讲解有关PyQt5项目中无边框后窗口出现移动问题如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

判断鼠标左键是否被按下,如果按下则将flag设为True并获取当前的位置

判断鼠标是否移动并且左键被按下,若移动了计算移动的距离在移动窗口

若鼠标释放了则将flag设为False

具体做法:重写窗口类自带的三个函数

  def mousePressEvent(self, event):    if event.button()==Qt.LeftButton:      self.m_flag=True      self.m_Position=event.globalPos()-self.pos() #获取鼠标相对窗口的位置      event.accept()      self.setCursor(QCursor(Qt.OpenHandCursor)) #更改鼠标图标        def mouseMoveEvent(self, QMouseEvent):    if Qt.LeftButton and self.m_flag:       self.move(QMouseEvent.globalPos()-self.m_Position)#更改窗口位置      QMouseEvent.accept()        def mouseReleaseEvent(self, QMouseEvent):    self.m_flag=False    self.setCursor(QCursor(Qt.ArrowCursor))

最后最小化和关闭可以设置两个按钮,通过点击按钮来触发

  @pyqtSlot()  def on_pushButton_clicked(self):    """    关闭窗口    """    self.close()    @pyqtSlot()  def on_pushButton_2_clicked(self):    """    最小化窗口    """    self.showMinimized()

ps :设置无边框和背景透明

# 设置窗体无边框# self.setWindowFlags(Qt.FramelessWindowHint)# 设置背景透明# self.setAttribute(Qt.WA_TranslucentBackground)

效果图

PyQt5项目中无边框后窗口出现移动问题如何解决

win10自带的录屏只能录当前软件那个区域。。。。。。。

就这样吧~

补充:pyqt5_控件_自定义无边框窗体拖动

我就废话不多说了,大家还是直接看代码吧~

from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *import sysclass 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 = Noneif __name__ == '__main__':  app = QApplication(sys.argv)  ex = Example()  sys.exit(app.exec_())

关于PyQt5项目中无边框后窗口出现移动问题如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: PyQt5项目中无边框后窗口出现移动问题如何解决

本文链接: https://www.lsjlt.com/news/250521.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PyQt5项目中无边框后窗口出现移动问题如何解决
    这篇文章将为大家详细讲解有关PyQt5项目中无边框后窗口出现移动问题如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。判断鼠标左键是否被按下,如果按下则将flag设为True并获取当前的...
    99+
    2023-06-08
  • 如何解决移动端1px边框的问题
    这篇文章主要为大家展示了“如何解决移动端1px边框的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决移动端1px边框的问题”这篇文章吧。当然了,在这之...
    99+
    2024-04-02
  • 如何解决移动端Html5页面中1px边框的问题
    这篇文章将为大家详细讲解有关如何解决移动端Html5页面中1px边框的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题提出这是一个比较老的问题了,我第一次注意到的时候,是UI设计师来找我麻烦,emm...
    99+
    2023-06-09
  • 如何解决springboot项目启动后无日志输出直接结束的问题
    这篇文章主要介绍了如何解决springboot项目启动后无日志输出直接结束的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前景概要在这个之前service_edu子模块下...
    99+
    2023-06-22
  • 如何解决tomcat启动ssm项目出现乱码的问题
    这篇文章主要为大家展示了“如何解决tomcat启动ssm项目出现乱码的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决tomcat启动ssm项目出现乱码的问题”这篇文章吧。0、乱码产生...
    99+
    2023-06-29
  • vue项目打包之后接口出现错误的问题及解决
    目录错误信息关键代码打包前打包后解决方式设置环境变量总结错误信息 这是新建一个项目还原问题,node简单写了个数据返回 关键代码 const express = require('...
    99+
    2024-04-02
  • vue项目中使用lib-flexible如何解决移动端适配的问题
    这篇文章将为大家详细讲解有关vue项目中使用lib-flexible如何解决移动端适配的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一部分:项目中引入lib-fl...
    99+
    2024-04-02
  • 如何解决基于Vue/React项目移动端适配的问题
    这篇文章给大家分享的是有关如何解决基于Vue/React项目移动端适配的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。px2rem或postcss-px2rem在移动端中,为...
    99+
    2024-04-02
  • 如何解决SpringBoot web项目启动后立即关闭的问题
    这篇文章主要介绍“如何解决SpringBoot web项目启动后立即关闭的问题”,在日常操作中,相信很多人在如何解决SpringBoot web项目启动后立即关闭的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-20
  • JS如何解决移动web开发手机输入框弹出的问题
    这篇文章主要介绍JS如何解决移动web开发手机输入框弹出的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在移动web开发中和pc端不同的是,手机的输入是软键盘,这样就会有个问题,...
    99+
    2024-04-02
  • 如何解决win7系统中windows移动中心无法打开问题
    这篇文章将为大家详细讲解有关如何解决win7系统中windows移动中心无法打开问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 方法/步骤: 在键盘上按下“win”+“R”按键,此时在弹出的...
    99+
    2023-06-27
  • ElementUI中tooltip出现无法显示问题如何解决
    这篇“ElementUI中tooltip出现无法显示问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Element...
    99+
    2023-07-05
  • 如何解决eclipse配置Tomcat和Tomcat出现无效端口问题
    小编给大家分享一下如何解决eclipse配置Tomcat和Tomcat出现无效端口问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、eclipse配置Tomc...
    99+
    2023-06-22
  • 如何解决MySQL8.0出现服务无法启动3534的问题
    小编给大家分享一下如何解决MySQL8.0出现服务无法启动3534的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MySQL8.0 服务无法启动最近遇到的在cmd启动MySQL服务的时...
    99+
    2024-04-02
  • 如何解决Vue cli构建及项目打包以及出现的问题
    这篇文章主要介绍了如何解决Vue cli构建及项目打包以及出现的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 首先安装node,推...
    99+
    2024-04-02
  • 如何解决vue2中前后端分离项目ajax跨域session的问题
    这篇文章将为大家详细讲解有关如何解决vue2中前后端分离项目ajax跨域session的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现跨域请求时,每次ajax请求...
    99+
    2024-04-02
  • Java项目中出现自动拆箱空指针异常如何解决
    本篇文章给大家分享的是有关Java项目中出现自动拆箱空指针异常如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的特点有哪些Java的特点有哪些1.Java语言作为...
    99+
    2023-06-06
  • JSBridge框架如何解决通信问题以及实现移动端跨平台开发
    这期内容当中小编将会给大家带来有关JSBridge框架如何解决通信问题以及实现移动端跨平台开发,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、跨平台开发是趋势目前主流的移动端平台主要是Android和i...
    99+
    2023-06-05
  • 如何解决Linux系统中关于KVM虚拟机迁移出现的问题
    这篇文章主要介绍“如何解决Linux系统中关于KVM虚拟机迁移出现的问题”,在日常操作中,相信很多人在如何解决Linux系统中关于KVM虚拟机迁移出现的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解...
    99+
    2023-06-12
  • 如何解决vue-cli项目打包出现空白页和路径错误的问题
    这篇文章主要介绍了如何解决vue-cli项目打包出现空白页和路径错误的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue-cli项目打...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作