gpt4 book ai didi

python - 在 PyQt4 中为 listwidget 添加右键单击功能

转载 作者:行者123 更新时间:2023-11-28 19:55:05 24 4
gpt4 key购买 nike

我正在尝试使用 Python 向 PyQt4 中的列表小部件中的项目添加右键单击功能。我喜欢一个弹出式上下文菜单来显示它有按钮,点击时应该执行一些功能。

如何在右键单击每个项目时弹出上下文菜单?

最佳答案

我想出了一个非常简单的方法来做到这一点并且效果很好。在 ControlMainWindow 类中添加以下内容以将上下文菜单策略初始化为 CustomeContextMenu,其中 listWidget_extractedmeters 将是您的 QListWidget 的名称:

    self.listWidget_extractedmeters.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.listWidget_extractedmeters.connect(self.listWidget_extractedmeters,QtCore.SIGNAL("customContextMenuRequested(QPoint)" ), self.listItemRightClicked)

然后在 ControlMainwindow 类中,以下函数允许您添加上下文菜单项并调用执行某些功能的函数:

def listItemRightClicked(self, QPos): 
self.listMenu= QtGui.QMenu()
menu_item = self.listMenu.addAction("Remove Item")
self.connect(menu_item, QtCore.SIGNAL("triggered()"), self.menuItemClicked)
parentPosition = self.listWidget_extractedmeters.mapToGlobal(QtCore.QPoint(0, 0))
self.listMenu.move(parentPosition + QPos)
self.listMenu.show()

def menuItemClicked(self):
currentItemName=str(self.listWidget_extractedmeters.currentItem().text() )
print(currentItemName)

关于python - 在 PyQt4 中为 listwidget 添加右键单击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com