欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于PyQT實現(xiàn)區(qū)分左鍵雙擊和單擊

 更新時間:2020年05月19日 11:55:21   作者:Surpassme  
這篇文章主要介紹了基于PyQT實現(xiàn)區(qū)分左鍵雙擊和單擊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

 在PyQt中沒有直接提供左鍵雙擊的判斷方法,需要自己實現(xiàn),其思路主要如下所示:

1、起動一個定時器,判斷在指定的時間之內(nèi),點擊次數(shù)超過2次,則視為雙擊(其主要思路判斷兩次點擊的時間差在預(yù)測的條件以內(nèi))

2、 起動一個定時器,判斷在指定的時間之內(nèi),點擊次數(shù)超過2次,另外再獲取鼠標點擊的坐標,如果前后兩次點擊的坐標位置,屬于同一個位置,滿足這兩個條件則判斷為雙擊(其主要思路判斷兩次點擊的時間差在預(yù)測的條件以內(nèi),且點擊的坐標在預(yù)設(shè)的坐標之內(nèi),允許存在一定的偏差)

from PyQt5.QtCore import QTimer
from PyQt5 import QtCore, QtGui, QtWidgets

class myWidgets(QtWidgets.QTableWidget): 

  def __init__(self, parent=None):
    super(myWidgets, self).__init__(parent)
    self.isDoubleClick = False
    self.mouse = ""
  def mousePressEvent(self, e): 
    # 左鍵按下
    if e.buttons() == QtCore.Qt.LeftButton:
      QTimer.singleShot(0, lambda: self.judgeClick(e))
    # 右鍵按下
    elif e.buttons() == QtCore.Qt.RightButton:
      self.mouse = "右"
    # 中鍵按下
    elif e.buttons() == QtCore.Qt.MidButton:
      self.mouse = '中'
    # 左右鍵同時按下
    elif e.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.RightButton:
      self.mouse = '左右'
    # 左中鍵同時按下
    elif e.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.MidButton:
      self.mouse = '左中'
    # 右中鍵同時按下
    elif e.buttons() == QtCore.Qt.MidButton | QtCore.Qt.RightButton:
      self.mouse = '右中'
    # 左中右鍵同時按下
    elif e.buttons() == QtCore.Qt.LeftButton | QtCore.Qt.MidButton | QtCore.Qt.RightButton:
      self.mouse = '左中右'
  def mouseDoubleClickEvent(self,e):
    # 雙擊
    self.mouse = "雙擊"
    self.isDoubleClick=True

  def judgeClick(self,e):
    if self.isDoubleClick== False:
      self.mouse="左"
    else:
      self.isDoubleClick=False
      self.mouse = "雙擊"

from PyQt5.QtCore import QTimer
from PyQt5 import QtCore, QtGui, QtWidgets

class myWidgets(QtWidgets.QTableWidget):

  def __init__(self, parent=None):
    super(myWidgets, self).__init__(parent)
    self.mouse = ""
    self.timer=QTimer(self)
    self.timer.timeout.connect(self.singleClicked)

  def singleClicked(self):
    if self.timer.isActive():
      self.timer.stop()
      self.mouse="左"

  def mouseDoubleClickEvent(self,e):
    if self.timer.isActive() and e.buttons() ==QtCore.Qt.LeftButton:
      self.timer.stop()
      self.mouse="雙擊"
    super(myWidgets,self).mouseDoubleClickEvent(e)

  def mousePressEvent(self,e):
    if e.buttons()== QtCore.Qt.LeftButton:
      self.timer.start(1000)
    elif e.buttons()== QtCore.Qt.RightButton:
      self.mouse="右"
    super(myWidgets,self).mousePressEvent(e)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • echarts動態(tài)獲取Django數(shù)據(jù)的實現(xiàn)示例

    echarts動態(tài)獲取Django數(shù)據(jù)的實現(xiàn)示例

    本文主要介紹了echarts動態(tài)獲取Django數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • python人工智能算法之差分進化算法的實現(xiàn)

    python人工智能算法之差分進化算法的實現(xiàn)

    DE基于GA,正如進化基于遺傳,和遺傳算法相比,差分進化引入了差分變異模式,相當于開辟了一條嶄新的進化路徑,下面就來看看差分優(yōu)化算法是如何實現(xiàn)的吧
    2023-08-08
  • Python中異常處理及最佳實踐舉例詳解

    Python中異常處理及最佳實踐舉例詳解

    異常處理在任何一門編程語言里都是值得關(guān)注的一個話題,良好的異常處理可以讓你的程序更加健壯,下面這篇文章主要給大家介紹了關(guān)于Python中異常處理及最佳實踐的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Python使用multiprocessing如何實現(xiàn)多進程

    Python使用multiprocessing如何實現(xiàn)多進程

    這篇文章主要介紹了Python使用multiprocessing如何實現(xiàn)多進程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python基于pyecharts實現(xiàn)關(guān)聯(lián)圖繪制

    Python基于pyecharts實現(xiàn)關(guān)聯(lián)圖繪制

    這篇文章主要介紹了Python基于pyecharts實現(xiàn)關(guān)聯(lián)圖繪制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 如何解決cmd運行python提示不是內(nèi)部命令

    如何解決cmd運行python提示不是內(nèi)部命令

    在本篇文章里小編給大家整理了關(guān)于如何解決cmd運行python提示不是內(nèi)部命令的相關(guān)內(nèi)容,有興趣的朋友們學習下。
    2020-07-07
  • Python工程師面試必備25條知識點

    Python工程師面試必備25條知識點

    這篇文章主要為大家詳細介紹了Python工程師面試必備25條知識點,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程

    Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程

    這篇文章主要介紹了Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家學有所得,多多進步
    2021-10-10
  • 最新評論