qtreewidget的子菜单怎么加点击事件
使用QAction类的triggered信号连接槽函数即可实现子菜单的点击事件:
from PyQt5.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem, QAction, QMenu
from PyQt5.QtCore import Qt
def on_submenu_clicked():
print("submenu clicked")
app = QApplication([])
# 创建QTreeWidget和根节点
tree = QTreeWidget()
header_labels = ["Name", "Type"]
tree.setHeaderLabels(header_labels)
root = QTreeWidgetItem(tree, ["Root", "Folder"])
# 创建子菜单
submenu = QMenu(tree)
submenu_action = QAction("Submenu", tree)
submenu.addAction(submenu_action)
submenu_action.triggered.connect(on_submenu_clicked)
# 在根节点上添加子菜单
root.setFlags(root.flags() | Qt.ItemIsEditable | Qt.ItemIsUserCheckable | Qt.ItemIsSelectable)
root.setContextMenuPolicy(Qt.CustomContextMenu)
root.customContextMenuRequested.connect(lambda pos: submenu.exec_(tree.mapToGlobal(pos)))
tree.expandAll()
tree.show()
app.exec_()
``
原文地址: https://www.cveoy.top/t/topic/cj9I 著作权归作者所有。请勿转载和采集!