[英]Right click functionality in PyQT widget broken from PyQT4 to PyQT5 update
我以前用 PyQT4 開發了一個應用程序,包括一個 QListWidget,帶有一個右鍵單擊彈出窗口,允許用戶從小部件中快速刪除行。
這是基於 Stack Overflow 的代碼: PyQt: How to get most of QListWidget
不幸的是,升級到 PYQt5 后,此功能現已損壞。 我收到錯誤:QListWidget 對象沒有屬性“連接”。
我懷疑這是由於 PyQt5 中的新實現造成的,這很煩人,盡管我無法從新的 Qt 文檔中找到解決此問題的簡單方法。
有人可以建議我如何恢復原始功能嗎?
為了面向未來,我寧願不回滾到 Qt5。
在 PyQt5 中,不支持 PyQt4 的舊式信號和槽。
因此,要解決問題,請更換線路
self.myListWidget.connect(self.myListWidget, QtCore.SIGNAL("customContextMenuRequested(QPoint)" ), self.listItemRightClicked)
與
self.myListWidget.customContextMenuRequested.connect(self.listItemRightClicked)
並更換線
self.connect(menu_item, QtCore.SIGNAL("triggered()"), self.menuItemClicked)
與
menu_item.triggered.connect(self.menuItemClicked)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.