使用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_()
``
qtreewidget的子菜单怎么加点击事件

原文地址: https://www.cveoy.top/t/topic/cj9I 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录