Ich rufe aus einem Fenster eine Dialogbox mittels QInputDialog auf:
Code: Alles auswählen
from PyQt4 import QtCore, QtGui
from abaquse_ui import Ui_ABAQuse as MainWin
import sys
class MeinWidget(QtGui.QMainWindow, MainWin):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
self.connect(self.actionSetdirectory, QtCore.SIGNAL("activated()"), self.setDirectory)
# Action definition:
def setDirectory(self):
ok = True
(dirname,ok) = QtGui.QInputDialog.getText(
self,
"ABAQuse log files Directory",
"Enter new log file directory",
QtGui.QLineEdit.Normal,logfiledir)
if (ok and not dirname==""):
test = str(dirname)
print logfiledir,test
So weit funktioniert alles.
Wenn ich aber in der Funktion setDirectory die letzte Print-Anweisung durch eine Zuweisung ersetze:
Code: Alles auswählen
def setDirectory(self):
ok = True
(dirname,ok) = QtGui.QInputDialog.getText(
self,
"ABAQuse log files Directory",
"Enter new log file directory",
QtGui.QLineEdit.Normal,logfiledir)
if (ok and not dirname==""):
test = str(dirname)
logfiledir = test
UnboundLocalError: local variable 'logfiledir' referenced before assignment
Kann mir die jemand erklären? Wenn ich beide Variablen ausgeben kann, sollte ich den Wert der Einen auch der anderen zuweisen können, oder?
Liebe Grüße
Ingo