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'。謝謝 –