使用 for 循环将项目添加到菜单栏 - Pyqt5

Adding items to a menubar with a for loop - Pyqt5

我有一个姓名列表,我想从该列表中填充 QMainWindowmenubar。下面的代码尝试:

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])

此处错误:

谢谢

您不能将变量赋值给字符串,您必须做相反的事情,而且变量不必具有不同的名称。

为了提高可读性,您还可以遍历列表而不是遍历数字。

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)