0
我有一个名称列表,并从该列表中,我想填充我的QMainWindow
的menubar
。下面的代码尝试:使用for循环将项添加到菜单栏 - Pyqt5
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])
在这里的错误:
谢谢
太棒了!只是一个简单的问题。如何将菜单栏中的项目连接到相同的def?应该包含这种类型的代码到循环中:'self.name_action.triggered.connect(self.def_name)'?谢谢 –
如果你想把所有的QAction连接到同一个函数,你只需要使用:'action.triggered.connect(self.def_name)'。如果你想在函数中过滤,你只需要使用'self.sender()'。请不要忘记标记我的答案是正确的。 – eyllanesc
还有一件事...我怎样才能将所选项目的名称作为变量进行传递?我做了这个'action.triggered.connect(lambda item = name:self.def_name(item))',但是当我打印变量时返回'False'。谢谢 –