91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

堆龙德庆县| 广河县| 禄丰县| 天等县| 阿坝| 玛沁县| 格尔木市| 新丰县| 康平县| 苏尼特右旗| 岢岚县| 南召县| 阜平县| 广水市| 黔东| 揭阳市| 昌吉市| 抚远县| 万山特区| 新干县| 长寿区| 凤翔县| 航空| 大化| 娄烦县| 开封市| 武陟县| 西昌市| 香格里拉县| 阜新| 广宗县| 开化县| 山东省| 石台县| 介休市| 东光县| 镇坪县| 通江县| 安福县| 山丹县| 监利县|