Добавление элементов в строку меню с помощью цикла for - Pyqt5

У меня есть список имен и из этого списка, я хотел бы заполнить menubar из моего QMainWindow, Ниже попытка кода:

list_name = ['Miller', 'Johnson', 'Robert']
self.menuName = self.menuBar().addMenu('Name')
for i in range(0,3):
    list_name[i]+'_action' = QtWidgets.QAction(list_name[i], self)
    self.menuName.addAction(list_name[i])

Здесь ошибка:

Спасибо

1 ответ

Решение

Вы не можете присвоить переменную строке, вы должны сделать наоборот, кроме того, нет необходимости, чтобы переменная имела другое имя.

Чтобы сделать его более читабельным, вы также можете выполнять итерацию по списку, а не по номерам.

list_name = ['Miller', 'Johnson', 'Robert']
self.menuName = self.menuBar().addMenu('Name')
for name in list_name:
    action = QtWidgets.QAction(name, self)
    self.menuName.addAction(action)
Другие вопросы по тегам