そのため、GUI ウィンドウでユーザーからデータを収集し、ユーザーが選択が行われたことを確認した後に、指定されたテキスト ファイルを開くようにします。ユーザーが入力した情報を格納するグローバル ディクショナリを作成しましたが、このディクショナリを次の関数呼び出しに送信する方法がわかりません。「グローバル名 'fileName' が定義されていません」というエラーが表示され続けました。助けてください!!
サンプルコード:
class guiFindFiles(QtGui.QWidget):
fileName = {}
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
#Create window
self.setFixedSize(400,180)
self.setWindowTitle("Choose the files to use")
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
...
#Connect all the signals and slots
self.connect(self.qFileButton, QtCore.SIGNAL("clicked()"), self.loadFile)
self.connect(self.lhButton, QtCore.SIGNAL("clicked()"), self.loadFile)
self.connect(self.oldQButton, QtCore.SIGNAL("clicked()"), self.loadFile)
self.connect(self.oldQCB, QtCore.SIGNAL("stateChanged(int)"), self.status)
self.connect(self.run, QtCore.SIGNAL("rejected()"),self.close)
self.connect(self.run, QtCore.SIGNAL("accepted()"),self.goForth)
def loadFile(self):
selFile = QtGui.QFileDialog.getOpenFileName()
if self.sender() == self.qFileButton:
fileName["currentQ"]=selFile
self.qFileTF.setText(selFile)
elif self.sender() == self.lhButton:
self.lhFileTF.setText(selFile)
fileName["currentLH"]=selFile
else:
self.oldQTF.setText(selFile)
fileName["oldQ"]=selFile
def goForth(self):
print fileName[0]
self.close()
エラー メッセージ:
トレースバック (最新の呼び出しが最後): ファイル "qDis.py"、80 行目、loadFile fileName["currentQ"]=selFile NameError: グローバル名 'fileName' が定義されていません