pyqt5-為QListWidget添加右鍵菜單


如何在pyqt5下為QListWidget添加右鍵菜單?

能百度到的均是pyqt4下的,有些貌似並不好用。

在嘗試了很多方法后,下面貼出可用的方法:

from PyQt4 import QtCore, QtGui

首先創建右鍵菜單:

#創建右鍵菜單
def rightMenuShow(self):
      rightMenu = QtGui.QMenu(self.listView1)
      removeAction = QtGui.QAction(u"刪除", self, triggered=self.close)       # triggered 為右鍵菜單點擊后的激活事件。這里slef.close調用的是系統自帶的關閉事件。
      rightMenu.addAction(removeAction)
        
      addAction = QtGui.QAction(u"添加", self, triggered=self.addItem)       # 也可以指定自定義對象事件
      rightMenu.addAction(addAction)
      rightMenu.exec_(QtGui.QCursor.pos())

 然后在init的時候進行綁定:

        self.list_widget.setContextMenuPolicy(Qt.CustomContextMenu)
        self.list_widget.customContextMenuRequested[QtCore.QPoint].connect(self.rightMenuShow)

 這樣就可以使用右鍵菜單功能了。

不過這里每種不足的是,鼠標不管是否在item上還是空白處都會有右鍵選項。還想請教大大們,這里怎么處理。

 

謝謝這兩篇博客給出的參考:

http://www.cnblogs.com/yogalau/p/3954042.html?utm_source=tuicool&utm_medium=referral

http://blog.163.com/ctcg326%40126/blog/static/7581291020124510012118/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM