python PyQt或Pyside中的弹出菜单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python PyQt或Pyside中的弹出菜单相关的知识,希望对你有一定的参考价值。
##Enable Right
self._category_table.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self._category_table.customContextMenuRequested.connect(self.show_category_table_Popup)
##Create Popup Menu
self._category_table_Popup = QtGui.QMenu(self)
self._category_table_Popup.addAction('Activate', lambda: self.changeStatus('table', 'Active'))
self._category_table_Popup.addAction('Ommit', lambda: self.changeStatus('table', 'Omitted'))
self._category_table_Popup.addAction('Delete', lambda: self.changeStatus('table', 'Delete'))
def show_category_table_Popup(self, point):
'''
Show Popup Menu on Category Table
'''
self._category_table_Popup.exec_(self._category_table.mapToGlobal(point))
def changeStatus(self, mode, status=None):
'''
Delete selected Files
'''
if mode == 'table':
## Grab selected row
selectedRow = self._category_table.selectionModel().selectedRows()[0].row()
## Edit First Column
item = self._category_table.item(selectedRow, 0)
Util.changeTextTable(item, status)
## Edit Second Column
item = self._category_table.cellWidget(selectedRow, 1)
if status != 'Active':
item.setEnabled(False)
else:
item.setEnabled(True)
if mode == 'tree':
item = self._asset_tree.currentItem()
Util.changeTextTree(item, status)
以上是关于python PyQt或Pyside中的弹出菜单的主要内容,如果未能解决你的问题,请参考以下文章
PySide / PyQt QStyledItemDelegate 表中的列表
Python/pyside,pyqt(pyside,pyqt optional): 控制文本选择的函数
pyqt5应用程序中对话框和主窗口的国际化(翻译)
从 PySide 移动到 PyQt5 后图像不显示
带有 Pyside/PyQt 的径向菜单
PyQt 或 PySide - 使用哪一个 [关闭]