這裏的程序:NameError在信號處理
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(400, 250, 680, 400)
self.setWindowTitle('Programme')
texte = QtGui.QLabel('On connait :', self)
texte.move(30, 50)
i = QtGui.QCheckBox("i", self)
i.move(30, 70)
i.setToolTip("C'est l'angle d'incidence de l'onde.")
i.stateChanged.connect(self.icoche)
n1 = QtGui.QCheckBox("n1", self)
n1.move(30, 90)
n1.setToolTip("C'est l'indice de réfraction du premier milieu. Il correspond au quotient de la vitesse de la lumière dans ce milieu et de la célérité.")
r = QtGui.QCheckBox("r", self)
r.move(30, 110)
r.setToolTip("C'est l'angle de réfraction de l'onde.")
n2 = QtGui.QCheckBox("n2", self)
n2.move(30, 130)
n2.setToolTip("C'est l'indice de réfraction du second milieu. Il correspond au quotient de la vitesse de la lumière dans ce milieu et de la célérité.")
algo = QtGui.QPushButton("Calculer", self)
algo.resize(algo.sizeHint())
algo.move(30, 160)
algo.setEnabled(False)
vali = QtGui.QLineEdit(self)
vali.move(70, 70)
vali.setEnabled(False)
self.show()
def icoche(self, state):
if state == QtCore.Qt.Checked:
vali.setEnabled(True)
else :
vali.setEnabled(False)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
但是當我檢查i
框,它返回以下錯誤:
NameError: global name 'vali' is not defined
我試過self.vali
,而不是vali
,但它不」不改變任何事情。錯誤在哪裏?
請閱讀有關如何在類中使用屬性的基本python教程。 – ekhumoro