PyQt5 - 信号和;插槽 - 如何通过q​​lineEdit的内容更改启用按钮?

时间:2014-12-31 18:33:31

标签: button signals-slots pyqt5 qlineedit

由于对于PyQt5的初学者来说没有任何有用的操作方法,我对信号和放大器的问题很困难。槽。

我有一个lineEdit,它将通过对话框获取目录路径(工作正常)。 如果一个人启动程序,这个lineEdit默认是空的,那没关系。存在一个按钮,它将生成一个文件列表并在列表视图中显示它。它的功能已经实现并且工作正常。首次启动程序时,默认情况下禁用此按钮。

我现在要做的是,在lineEdit输入内容时启用按钮,并在删除内容时禁用该按钮。

我试了一下这个:

self.lineEdit_SelectedDirectory.editingFinished.connect(self.pushButton_CreateFileList.setEnabled)

但我得到的错误是它没有足够的参数,这可能很清楚,因为此代码行中没有提供任何参数。

同样,这只是猜测。如何做到这一点?

我会喜欢将内容考虑在内的内容,它决定内容是否为空,而不是为按钮设置适当的值。

提前帮忙。

基督教

1 个答案:

答案 0 :(得分:1)

看起来你想要textChanged信号,因为它发送当前文本:

    self.lineEdit_SelectedDirectory.textChanged.connect(
        lambda text: self.pushButton_CreateFileList.setEnabled(bool(text)))