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

PyQt5實現(xiàn)QLineEdit添加clicked信號的方法

 更新時間:2019年06月25日 22:29:37   作者:sylgdxsgx  
今天小編就為大家分享一篇PyQt5實現(xiàn)QLineEdit添加clicked信號的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

大家都知道很多控件是沒有clicked信號的,我在網(wǎng)上找了很多終于總結出2個方法來實現(xiàn)類似需求,比如給QLineEdit添加clicked信號,這樣的話,當點擊輸入框時就會發(fā)送clicked信號,其它控件也是一樣的做法,如下:

方法1:創(chuàng)建一個繼承自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輸入框時,發(fā)送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()   #發(fā)送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的信號,但可以實現(xiàn)焦點落到edit時觸發(fā)信號

  # 方法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輸入框時,發(fā)送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實現(xiàn)QLineEdit添加clicked信號的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論