选中 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)” 槽,然后点击“确定”;
刚开始学习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)” 槽,然后点击“确定”;