В настоящее время я использую pyqt4 для создания графического интерфейса sudoku, и я столкнулся с проблемой при попытке перебрать атрибуты объекта mainwindow.
В общем, я хочу использовать метод setTabOrder, поэтому я должен применить его следующим образом:
self.setTabOrder(self.textboxA, self.textboxB)
self.setTabOrder(self.textboxB, self.textboxC)
self.setTabOrder(self.textboxC, self.textboxD)
Я уже сделал это (это прекрасно работает)
self.centralwidget.setTabOrder(self.case0_0, self.case0_1)
но у меня есть loooooot текстовых полей, чтобы пройти через них, поэтому я хотел перебрать их, используя функцию vars (), например:
for a, b in vars(self).items():
if type(b) == QtGui.QTextEdit and a != 'case8_8':
name = list(a)
if a[6] != '8':
name[6] = str(int(a[6])+1)
else:
name[4] = str(int(a[4])+1)
name[6] = '0'
name = ''.join(name)
suivant = vars(self)[name]
self.centralwidget.setTabOrder(self.b, self.suivant)
это не работает и выдает мне эту ошибку:
AttributeError: 'Ui_MainWindow' object has no attribute 'b'
b явно указывает на тот же объект, что и case0_0 (я его напечатал, чтобы убедиться):
<PyQt4.QtGui.QTextEdit object at 0x000001F5043DC708>
<PyQt4.QtGui.QTextEdit object at 0x000001F5043DC708>
Тогда мой вопрос: как я могу использовать список атрибутов таким образом?