Ich habe ein neues modales Dialogfeld hinzugefügt, das nach einem Kennwort fragt, wenn der Benutzer Zeilen löschen möchte. Ich habe die GUI mit Qt Designer erstellt. Ich kann die inventoryTable nicht in meiner GUI aufrufen.Attribut Fehler: Objekt hat keinen Attributfehler - Unterklassen-GUI PyQt4
Jedes Mal, wenn ich rufe secureDelete Funktion, ein Attribut Fehler auftritt, dass "'MainWindow_ui' Objekt hat kein Attribut 'inventoryTable'".
Kann mir jemand sagen, wie ich andere UIs richtig hinzufügen und in der Lage sein, dieses Attribut Fehler in der Zukunft zu vermeiden?
class Main(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.db = Database()
self.model = Model(self)
self.ui = MainWindow_ui()
self.ui.setupUi(self)
self.ui.removeItem.clicked.connect(lambda: self.start_Secure())
self.ui.removeItem.setShortcut("Del")
def start_Secure(self):
self.accessForm = confirmDialog(self)
self.accessForm.show()
class confirmDialog(QtGui.QDialog):
def __init__(self, parent=None):
super(confirmDialog, self).__init__(parent)
self.model = Model()
self.access_ui = Ui_Access()
self.access_ui.setupUi(self)
self.ui = MainWindow_ui()
self.access_ui.username.returnPressed.connect(self.secureDelete)
self.access_ui.password.returnPressed.connect(self.secureDelete)
self.access_ui.confirmButton.clicked.connect(self.secureDelete)
def secureDelete(self):
members = {'user': 'password'}
username = self.access_ui.username.text()
password = self.access_ui.password.text()
if username in members:
enteredPass = members.get(username)
indices = self.ui.inventoryTable.selectionModel().selectedRows()
if password == enteredPass:
for index in sorted(indices):
self.model.removeRow(index.row())
else:
self.model.revertRow(indices)