当前位置: 首页 > 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.pierceye.com/news/969454/

相关文章:

  • 网站搭建什么意思砀山做网站
  • 营销型网站服务长沙做网站费用
  • 提供信息门户网站定制怎样做wordpress模板
  • 做爰小视频网站如何制作淘宝客网站
  • 公司架设网站费用怎么做分录linux网站开发软件
  • 网站可信图标精品网站建设费用 地址磐石网络
  • 朝阳住房和城乡建设厅网站学佛网站开发项目需求分析
  • 做快递单的网站会不会是骗人的网站推广营销收费
  • 网站设计师需要学什么wordpress focus
  • 查询网网站十大求职招聘app排行
  • 百度 搜索到手机网站wordpress百科汉化
  • 自己做的网站点击赚钱徐州万网网站建设
  • 网站定制生成器网页制作需要会哪些
  • 最重要的网站官方网站手机 优帮云
  • 建一个展示网站下班多少钱怎样给一个公司做网站改版
  • wordpress 网站死机php7.0 wordpress 设置
  • 免版权费自建网站自考本科官网
  • 使用ai做网站设计长沙建设网站哪家好
  • 建设行业网站价格公共服务标准化建设
  • 电商网站开发发展和前景网站建设案例多少钱
  • 网站建设特效代码做销售用什么网站
  • 如何做中英版网站上海到北京机票
  • 海淀网站建设枣庄微信官网小程序注册
  • 投诉网站制作事件营销的概念
  • 做网站一个程序员够吗企业互联网推广
  • 安徽省建设工程资料上传网站网站内容优化
  • 直接用apk 做登陆网站呢图网站场建设封面
  • 书店网站的建设网络服务器搭建
  • led灯网站模板电商网站开发人员人数
  • 南阳网站建设报价沧州南皮网站建设