Python setChecked()pyQt不';似乎没有任何效果
所以,我在复选框中调用它,我知道它通过了if语句,因为框隐藏了。我只想把它设为false。什么也没发生 这样创建:Python setChecked()pyQt不';似乎没有任何效果,python,python-2.7,pyqt,pyqt4,pyside,Python,Python 2.7,Pyqt,Pyqt4,Pyside,所以,我在复选框中调用它,我知道它通过了if语句,因为框隐藏了。我只想把它设为false。什么也没发生 这样创建: self.cb_openScene = WidgetBinding.QCheckBox(self.centralwidget) self.cb_openScene.setObjectName(_fromUtf8("cb_openScene")) 这样使用: self.cb_attMinifig.stateChanged.connect(self.cb_attMinifig_che
self.cb_openScene = WidgetBinding.QCheckBox(self.centralwidget)
self.cb_openScene.setObjectName(_fromUtf8("cb_openScene"))
这样使用:
self.cb_attMinifig.stateChanged.connect(self.cb_attMinifig_checkbox_changed)
def cb_attMinifig_checkbox_changed(self):
if(self.cb_attMinifig.isChecked() == True):
self.cb_openScene.setChecked(False)
self.cb_openScene.hide()
else:
self.cb_openScene.show()
任何关于为什么这对复选框没有任何影响的帮助都是非常好的
编辑:
应要求
啊,是的,cb_attMinifig是一个QCheckBox,WidgetBinding是
if(usingPySide):
WidgetBinding = QtGui
utfBinding = QtGui.QApplication.UnicodeUTF8
else:
WidgetBinding = QtWidgets
utfBinding = -1
这是为了在Maya 2016和Maya 2017之间使用,其中PySide的版本不同。
Self.cb\u attMinifig
它是什么类型的Widget?,WidgetBinding
?在上述问题中添加了:Self.cb\u attMinifig.stateChanged.connect(Self.cb\u attMinifig\u复选框已更改)def cb_attMinifig_checkbox_changed(self,state):如果state==QtCore.Qt.Checked:self.cb_openScene.setCheckState(QtCore.Qt.Unchecked)self.cb_openScene.hide()其他:self.cb_openScene.show()
恐怕还是没有效果,可以确认它位于if语句中,因为该框隐藏了,但是如果我认为删除隐藏/显示以查看发生了什么,则该框将保持选中状态。是否需要设置一些额外的属性,以便通过编程方式更改QCheckbox?不过,我会觉得这很奇怪,因为其他一些复选框也起作用。