qtablewidget右键弹出快捷菜单
时间: 2023-08-28 19:08:00 浏览: 68
可以通过QMenu类实现在QTableWidget上右键弹出快捷菜单的功能。以下是实现该功能的示例代码:
```
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QMenu, QAction
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.table = QTableWidget()
self.table.setRowCount(3)
self.table.setColumnCount(3)
for i in range(3):
for j in range(3):
item = QTableWidgetItem("Item %d,%d" % (i, j))
self.table.setItem(i, j, item)
self.setCentralWidget(self.table)
# 创建快捷菜单
self.contextMenu = QMenu(self)
self.deleteAction = QAction("删除", self)
self.deleteAction.triggered.connect(self.deleteItem)
self.contextMenu.addAction(self.deleteAction)
# 将快捷菜单绑定到table上
self.table.setContextMenuPolicy(Qt.CustomContextMenu)
self.table.customContextMenuRequested.connect(self.showContextMenu)
self.show()
def showContextMenu(self, pos):
# 显示快捷菜单
self.contextMenu.exec_(self.table.mapToGlobal(pos))
def deleteItem(self):
# 删除选中的item
for item in self.table.selectedItems():
self.table.removeItemWidget(item)
del item
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
app.exec_()
```
在该示例中,首先创建了一个QTableWidget并添加了一些数据。然后创建了一个QMenu作为快捷菜单,同时创建了一个QAction作为菜单项,并将其与一个deleteItem函数关联。该函数会删除选中的item。
接着将快捷菜单绑定到table上,当用户右键点击table时,就会触发customContextMenuRequested信号,从而显示快捷菜单。
最后,通过调用exec_方法显示快捷菜单,并在用户点击菜单项时调用deleteItem函数删除选中的item。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)