Объект 'QMainWindow' не имеет атрибута 'exec' - PullRequest
0 голосов
/ 14 ноября 2018

Я новичок в PyQt5 и создаю окно пользователя / пароля, ведущее к главному окну. Я столкнулся с этой ошибкой после вызова класса с использованием функции для запуска главного окна:

class RPDlogin (QDialog):
    def __init__(self, parent=None):
        super(RPDlogin, self).__init__(parent)
        loadUi('RPDlogin.ui', self)

        self.buttonlogin.clicked.connect (self.RPDlogincheck)


def RPDlogincheck(self):
            if self.login_user.text() == 'nemesis' and self.login_pass.text() == 'redherbs':
                self.loginClicked()
            else:
                QMessageBox.about(self,'Error','Invalid username or password')

def loginClicked(self):
        RPD = RPDMainWindow()
        RPD.exec()

class RPDMainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(RPDMainWindow, self).__init__(parent)
        loadUi('RPDMainWindow.ui', self)

Произошла ошибка:

AttributeError: 'RPDMainWindow' object has no attribute 'exec'

1 Ответ

0 голосов
/ 14 ноября 2018

Поскольку вы не предоставили мне достаточно информации для работы, я предполагаю, что ваша проблема в том, что тип PlayerIG.armor равен int.

Вы не можете перебирать int.

Это может быть нежелательно, поэтому я рекомендую вам выполнить некоторую отладку, например print(PlayerIG.armor) прямо перед этим циклом, чтобы выяснить, на что он настроен.Затем попытайтесь выяснить, где вы ошиблись.

Вы уверены, что не имели в виду PlayerIG.armors?

Просто примечание: dict s неупорядочены, что означаетчто ваше оружие (и доспехи, когда вы его заработаете) будут напечатаны в том порядке, в котором они хранятся в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...