选中 QCheckBox pyqt5 qt 设计器时如何激活 QLineEdit?

how to Activate QLineEdit when QCheckBox pyqt5 qt designer is checked?

刚开始学习pyqt5 qt designer。我曾经使用 tkinter。我有一个问题,我不知道该怎么做。如图所示,有QCheckBox和QLineEdit。未选中复选框时保留 LineEdit 字段 'disabled';选中 CheckBox 时,我尝试让 LineEdit 字段在 'normal' 位置被激活。

当我使用 tkinter 时,

txtSample.configure(state=DISABLED)

txtSample = Checkbutton( text='TEST', variable=var, onvalue=1, offvalue=0,font('arial',16,'bold'))

txtSample = Entry(font=('arial',16,'bold'), bd=8, width=6, justify='left',state=DISABLED)

def checkbuttonSample():
    if(var.get() == 1):
        txtSample.configure(state=NORMAL)
    elif var.get()== 0:
        txtSample.configure(state=DISABLED)`

我会使用类似的代码 this.But 我找不到解决方案,我正在寻找有关此问题的解决方案。预先感谢您的回答。

从代码来看非常简单:您需要连接行编辑的 toggled signal of the checkbox to the setEnabled() 插槽:

self.lineEdit.setEnabled(False)
self.checkBox.toggled.connect(self.lineEdit.setEnabled)

您也可以直接在设计器中进行:

  • select行编辑;
  • 在 属性 编辑器面板上,取消选中“已启用”选项;
  • 进入“编辑 Signals/Slots”模式(从工具栏或“编辑”菜单);
  • 在复选框上按下鼠标左键,将鼠标移动到编辑行上,然后松开按钮;
  • 在之后打开的“Configure Connection”对话框中,select左边的“toggled(bool)”信号,勾选“Show signals and slots inherited from QWidget”选项,select “setEnabled(bool)” 槽,然后点击“确定”;