pyqt5 listWidget的item鼠标左键和右键点击事件,代码
时间: 2024-04-29 15:27:09 浏览: 148
可以参考以下代码:
```python
from PyQt5.QtWidgets import QListWidget, QListWidgetItem, QApplication
from PyQt5.QtCore import Qt
class MyListWidget(QListWidget):
def __init__(self, parent=None):
super(MyListWidget, self).__init__(parent)
self.setAcceptDrops(True)
self.itemClicked.connect(self.on_item_clicked)
self.itemPressed.connect(self.on_item_pressed)
def on_item_clicked(self, item):
print('Left clicked:', item.text())
def on_item_pressed(self, item):
if QApplication.mouseButtons() == Qt.RightButton:
print('Right clicked:', item.text())
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = MyListWidget()
for i in range(10):
w.addItem(QListWidgetItem('Item %d' % i))
w.show()
sys.exit(app.exec_())
```
这个自定义的 QListWidget 重载了 itemClicked() 和 itemPressed() 两个方法,分别处理鼠标左键和右键点击事件。同时注意到在 itemPressed() 中,使用 QApplication.mouseButtons() 判断当前鼠标按下的是左键还是右键。
阅读全文