除非编辑字段不为空,否则如何禁用按钮?

How to disable a Button unless a Edit Field isn't empty?

我有一个 QLineEdit 字段和一个 QPushButton。 只要 QLineEdit 为空,就应该禁用该按钮。

怎么做?

好吧,我就总结一下他们在评论中所说的,一些代码像

self.btnButton.setDisable(True)
self.leInput.textChanged.connect(self.disableButton)
def disableButton(self):
    if len(self.leInput.text()) > 0:
        self.btnButton.setDisable(False)

是的,信号/函数名称很明显,您需要在文档/教程上查看更多内容

这是一个 one-liner 解决方案:

self.textBox.textChanged[str].connect(lambda: self.myBtn.setEnabled(self.textBox.text() != ""))

您仍然需要将按钮的初始状态设置为 False。不过,您可以在声明中这样做。例如

self.myBtn = QtGui.QPushButton("My Button", enabled=False)