当前位置: 首页 > news >正文

网站域名有哪些网站建设管理岗位职责

网站域名有哪些,网站建设管理岗位职责,国外网站兼职做效果图,宁夏网站制作写了个自认为还算不错的类#xff0c;用于简化mousePressEvent、mouseMoveEvent和mouseReleaseEvent中的鼠标信息。 功能有以下几点#xff1a; 鼠标当前状态#xff0c;包括鼠标左/中/右键和单击/双击/抬起鼠标防抖(仅超出一定程度时才判断鼠标发生了移动)#xff0c;灵…写了个自认为还算不错的类用于简化mousePressEvent、mouseMoveEvent和mouseReleaseEvent中的鼠标信息。 功能有以下几点 鼠标当前状态包括鼠标左/中/右键和单击/双击/抬起鼠标防抖(仅超出一定程度时才判断鼠标发生了移动)灵敏度可设置鼠标长按(在鼠标长按并且未发生移动时触发)时长可设置鼠标双击(两次点击的时间间隔足够小时判断为双击)时长可设置鼠标偏移量仅鼠标按下时有效可返回自点击时的总偏移量也可返回与上次鼠标事件之间的相对偏移量 补充 这个自制类在多键按下时会产生歧义也就是没法处理有如刁难一般的操作像是右键拖拽然后左键来添乱之类的。本来是想再重新写份代码以填补这个缺陷的但想想就有点怪什么场合下才需要满足这种怪异的操作。 自制类XJ_MouseStatus #XJ_MouseStatus.py from PyQt5.QtCore import pyqtSignal from PyQt5.QtCore import QPoint,Qt,QObject from PyQt5.QtGui import QMouseEvent__all__[XJ_MouseStatus] class XJ_MouseStatus(QObject):#mousePressEvent、mouseMoveEvent和mouseReleaseEvent特供。只处理单键(多键行为请在外部代码控制)longClickpyqtSignal()#鼠标原地不动长按时触发__antiJitter5#防抖当鼠标点击位置与鼠标当前位置的曼哈顿距离不超过该值时仍将鼠标视为不动状态__doubleClickInterval500#双击间隔(ms)__longPressInterval500#长按间隔(ms)__record{lastPress:None,#上一次按下时的信息lastMouse:None,#上一次的鼠标信息currMouse:None,#当前鼠标信息}__press[QMouseEvent.MouseButtonRelease,QMouseEvent.MouseButtonPress,QMouseEvent.MouseButtonDblClick]#偷懒用的__moveFalse#用于判断是否长按__timerID0#鼠标按下时对应的定时器class __Data:posNone#鼠标位置btnNone#鼠标按键(左中右)pressStatusNone#鼠标当前按下状态(单双击/抬起)timeStampNone#鼠标事件时间刻def __init__(self,event):self.posevent.globalPos()#这里不用pos是为了防暴毙self.btnevent.button()self.pressStatusevent.MouseButtonReleaseself.timeStampevent.timestamp()def __init__(self,*arg):super().__init__(*arg)recordself.__record.copy()fakeEventQMouseEvent(QMouseEvent.MouseButtonRelease,QPoint(0,0),Qt.NoButton,Qt.NoButton,Qt.NoModifier)dataself.__Data(fakeEvent)data.timeStamp-self.__doubleClickInterval#小防避免开局单击时触发双击行为record[lastMouse]datarecord[currMouse]datarecord[lastPress]dataself.__recordrecorddef timerEvent(self,event):recordself.__recordpressself.__presstIdevent.timerId()cIdself.__timerIDself.killTimer(event.timerId())if(cIdtId):#当前定时器if(not self.__move and record[currMouse].pressStatus!press[0]):#未发生移动未抬起鼠标触发长按信号self.longClick.emit()def Set_DoubleClickInterval(self,interval):#设置双击时间间隔(ms)self.__doubleClickIntervalintervaldef Set_LongPressInterval(self,interval):#设置长按时间间隔(ms)self.__longPressIntervalintervaldef Set_AntiJitter(self,val):#设置防抖值self.__antiJitterval if val0 else 0def Get_Position(self):#返回鼠标坐标。是屏幕坐标(global)需要使用QWidget.mapFromGlobal(QPoint)自行转换为控件相对坐标return self.__record[currMouse].posdef Get_PressButtonStatus(self):#返回当前鼠标的键(左中右)以及按下状态(单击/双击/抬起)return self.__record[currMouse].btn,self.__record[currMouse].pressStatusdef Get_MoveDelta(self,totalTrue,strictTrue):#返回鼠标移动量(仅鼠标按下时有效)为QPoint对象pressself.__pressrecordself.__recorddata_currrecord[currMouse]if(data_curr.pressStatus!press[0]):#说明鼠标按下if(not strict or self.__move):#严格模式下仅判定发生移动时计算移动量p1record[currMouse].posif(total):p2record[lastPress].poselse:p2record[lastMouse].posreturn QPoint(p1.x()-p2.x(),p1.y()-p2.y())return QPoint(0,0)def Get_HasMoved(self):#判断是否发生移动(毕竟用Get_MoveDelta来判断移动的发生是有点麻烦还不如多一个函数return self.__movedef Opt_Update(self,event):#更新状态pressself.__pressrecordself.__recorddata_currself.__Data(event)if(event.type()press[1] or event.type()press[2]):#单/双击self.__moveFalsedata_oldrecord[lastPress]data_curr.pressStatuspress[1]if(data_old.btndata_curr.btn):#同键位按下if(data_curr.timeStamp-data_old.timeStampself.__doubleClickInterval):#在时间间隔内if(data_old.pressStatus!press[2]):#没有双击过data_curr.pressStatuspress[2]#双击record[lastPress]data_currrecord[lastMouse]data_currrecord[currMouse]data_currself.__timerIDself.startTimer(self.__longPressInterval)else:#移动/抬起data_curr.btnevent.buttons()data_curr.pressStatusrecord[lastMouse].pressStatusif(event.type()press[0]):#抬起if(data_curr.btnQt.NoButton):#确保无按键按下时设置为Releasedata_curr.pressStatuspress[0]data_curr.btnevent.button()else:#移动(QMouseEvent.MouseMove)if(data_curr.pressStatus!press[0] and not self.__move):#判断有无发生拖拽deltaself.Get_MoveDelta(strictFalse)if(abs(delta.x())abs(delta.y())self.__antiJitter):self.__moveTruerecord[currMouse].posrecord[lastPress].posrecord[lastMouse]record[currMouse]record[currMouse]data_curr测试代码与运行结果 与鼠标相关的部分枚举量 单击QMouseEvent.MouseButtonPress双击QMouseEvent.MouseButtonDblClick抬起QMouseEvent.MouseButtonRelease左键Qt.LeftButton中键Qt.MidButton右键Qt.RightButton #Main.py import sys from PyQt5.QtWidgets import QApplication,QWidget from XJ_MouseStatus import *class Test(QWidget):__mouseStatusNonedef __init__(self,*arg):super().__init__(*arg)msXJ_MouseStatus()ms.longClick.connect(lambda:print(LongClick!))self.__mouseStatusmsdef __EasyPrint(self):press{QMouseEvent.MouseButtonRelease:Release,QMouseEvent.MouseButtonPress:Press,QMouseEvent.MouseButtonDblClick:DblClick,}button{Qt.LeftButton:Left,Qt.MidButton:Middle,Qt.RightButton:Right,}tPointlambda point:(point.x(),point.y())tBtnlambda btn:[button[key] for key in button if keybtn]tBtnStatuslambda status:(tBtn(status[0]),press[status[1]])msself.__mouseStatuspostPoint(self.mapFromGlobal(ms.Get_Position()))moveDeltatPoint(ms.Get_MoveDelta())btnStatustBtnStatus(ms.Get_PressButtonStatus())print(fpos{pos},\tdelta{moveDelta},\t{btnStatus[0]}-{btnStatus[1]})if(btnStatus[1]Release):print()def mousePressEvent(self,event):self.__mouseStatus.Opt_Update(event)self.__EasyPrint()def mouseMoveEvent(self,event):self.__mouseStatus.Opt_Update(event)self.__EasyPrint()def mouseReleaseEvent(self,event):self.__mouseStatus.Opt_Update(event)self.__EasyPrint()if __name____main__:app QApplication(sys.argv)tTest()t.show()sys.exit(app.exec())本文发布于CSDN未经个人允许不得私自转载https://blog.csdn.net/weixin_44733774/article/details/134349820
http://www.zqtcl.cn/news/969454/

相关文章:

  • 微信小程序联盟网站北京网站建设华大
  • 人事怎么做招聘网站比对分析crm管理系统 一般包含
  • 林业网站建设有哪些北京微信小程序开发
  • ppt素材网站建设流程图网站开发原型工具
  • 乡镇医院网站建设成都市企业网站建设
  • 网站编辑如何做原创网站中英切换实例
  • 哈尔滨道外区建设局官方网站wordpress简称
  • 教师网站建设企业实践总结华为应用商店下载安装
  • 常见的网站空间服务商资阳建设局网站
  • 惠通网站建设湖南seo优化服务
  • 网站建设价格标准wordpress花钱吗
  • 龙门惠州网站建设苏州公司注册查询
  • 城阳网站设计自建网站与平台建站
  • 网站建设文字教程wordpress xml生成
  • wordpress修改注册表广西seo网站
  • 新兴网站建设招商网站建设多少钱
  • 商城网站页面模板网页设计的首页如何设计官网
  • 我的世界做外国壁纸网站嘉兴推广公司
  • 网站制作在哪里找怎样上传wordpress模板
  • 网站设计时尚博业建站网
  • 网站建设前期如何规划免费的源代码分享有哪些网站
  • 长春网络培训seo
  • 江苏网站开发建设电话公司网站需求说明书
  • 河北建设厅网站首页个人或主题网站建设实验体会
  • 网站后台文章栏目做外汇消息面的网站
  • 白酒营销网站用asp.net做简易网站
  • 做seo需要建网站吗上传PDF到wordpress网站
  • 湘潭网站网站建设龙岩网站建设馨烨
  • 本地网站建设教程xampperp软件是什么意思啊
  • 网站没有流量房地产广告设计网站