新しいモーダルDialogを追加しました。ユーザーが行を削除したいときはいつでもパスワードを要求します。 Qt DesignerでGUIを作成しました。私は自分のGUIでinventoryTableを呼び出すことはできません。属性エラー:オブジェクトに属性エラーがありません - GUIのサブクラス化PyQt4
secureDelete関数を呼び出すたびに、「 'MainWindow_ui'オブジェクトには 'inventoryTable'属性がありません」という属性エラーが発生します。
他のユーザーインターフェイスを正しく追加する方法を教えてもらえますか、今後この属性のエラーを回避することはできますか? Qtのデザイナーによって生成された
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)