【发布时间】:2016-12-07 20:21:07
【问题描述】:
右键单击表格时打开了一个菜单,我想获取我单击的操作名称。问题是我在循环中创建动作。基本上每个动作都会将右键单击的项目添加到文件(播放列表)中。所以为了添加项目,我需要知道在哪里。
def menu(self, event):
self.menu_table = QtWidgets.QMenu(self.tableWidget)
self.submenu = QtWidgets.QMenu("Add to a playlist")
list = os.listdir("playlists")
for i in list:
self.submenu.addAction(i)
self.submenu.triggered.connect(MyFunction(ItemClicked))
self.menu_table.addMenu(self.submenu)
self.menu_table.exec_(self.tableWidget.mapToGlobal(event))
【问题讨论】:
-
QMenu.exec_()返回激活的操作(或None)。 -
谢谢,它确实返回了激活的动作,但它也执行了子菜单,所以即使在我右键单击子菜单出现在我的主窗口之前,有没有办法避免这种情况?
-
我添加了一些示例代码的答案。
标签: python qt python-3.x qt5 pyqt5