亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在PyQt5中利用QLineEdit添加clicked信號

發布時間:2021-05-20 17:29:28 來源:億速云 閱讀:499 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在PyQt5中利用QLineEdit添加clicked信號,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

方法1:創建一個繼承自QLineEdit的類,然后重寫mousePressEvent。

class MyLineEdit(QLineEdit):
  clicked = pyqtSignal()
  def mouseReleaseEvent(self, QMouseEvent):
    if QMouseEvent.button()==Qt.LeftButton:
      self.clicked.emit()

方法2:重寫eventFilter事件也可以達到類似的效果。

def eventFilter(self, widget, event):
  if widget == self.edit:
    if event.type() == QEvent.FocusOut:
      pass
    elif event.type() == QEvent.FocusIn:
      self.clicked.emit()   #當焦點再次落到edit輸入框時,發送clicked信號出去
    else:
      pass
  return False

test.py

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

#方法1
class mylineedit(QLineEdit):
  clicked=pyqtSignal()  #定義clicked信號
  def mouseReleaseEvent(self, QMouseEvent):
    if QMouseEvent.button()==Qt.LeftButton:
      self.clicked.emit()   #發送clicked信號

class Wind(QDialog):
  clicked=pyqtSignal()
  def __init__(self):
    super().__init__()
    self.lnd=mylineedit()
    self.edit=QLineEdit()
    self.edit.installEventFilter(self)  #方法2(1)

    vb=QVBoxLayout()
    vb.addWidget(self.lnd)
    vb.addWidget(self.edit)
    self.setLayout(vb)

    self.lnd.clicked.connect(self.showData)
    self.clicked.connect(self.showData)   #該clicked信號是W1的信號而非edit的信號,但可以實現焦點落到edit時觸發信號

  # 方法2(2)
  def eventFilter(self, widget, event):
    if widget == self.edit:
      if event.type() == QEvent.FocusOut:
        pass
      elif event.type() == QEvent.FocusIn:
        self.clicked.emit()   #當焦點再次落到edit輸入框時,發送clicked信號出去
      else:
        pass
    return False

  def showData(self):
    print('ok')

if __name__=="__main__":
  app=QApplication(sys.argv)
  w=Wind()
  w.show()
  sys.exit(app.exec_())

上述就是小編為大家分享的怎么在PyQt5中利用QLineEdit添加clicked信號了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌恰县| 临朐县| 海兴县| 新宾| 娄烦县| 开封市| 茌平县| 泰顺县| 洛宁县| 大庆市| 临城县| 连山| 方城县| 萨嘎县| 罗平县| 固阳县| 枣强县| 建宁县| 景洪市| 惠东县| 岗巴县| 赞皇县| 获嘉县| 德兴市| 德保县| 平果县| 琼结县| 布尔津县| 阳泉市| 武宁县| 云霄县| 安福县| 静乐县| 遵化市| 凤阳县| 周宁县| 腾冲县| 金湖县| 长宁县| 郯城县| 康定县|