【问题标题】:How do I use the double click signal in the QLineEdit widget?如何在 QLineEdit 小部件中使用双击信号?
【发布时间】:2021-12-28 16:35:39
【问题描述】:

我有一个 QLineEdit 小部件,我想在它上面使用双击事件。我该怎么做?

def __init__(self):
    #... other codes

    self.title = QLineEdit()
    self.title.returnPressed.connect(self.lockTitle)

    #like this -> 'self.title.doubleClicked.connect(self.unlockTitle)'

    #... other codes 
def lockTitle(self):
    self.title.setDisabled(True)

def unlockTitle(self):
    self.title.setDisabled(False)

【问题讨论】:

    标签: python python-3.x pyqt5 qlineedit


    【解决方案1】:

    一种可能的解决方案是通过创建在 mouseDoubleClickEvent 方法中发出的新信号来创建自定义 QLineEdit,但在您的情况下,问题是 QLineEdit 被禁用并且没有调用该方法而不是使用该方法你应该使用event 方法:

    class LineEdit(QLineEdit):
        doubleClicked = pyqtSignal()
    
        def event(self, event):
            if event.type() == QEvent.Type.MouseButtonDblClick:
                self.doubleClicked.emit()
            return super().event(event)
    
    self.title = LineEdit()
    self.title.returnPressed.connect(self.lockTitle)
    self.title.doubleClicked.connect(self.unlockTitle)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多