Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQT小部件中的右键单击功能从PyQT4中断到PyQT5更新_Python_Qt_User Interface_Pyqt_Pyqt5 - Fatal编程技术网

Python PyQT小部件中的右键单击功能从PyQT4中断到PyQT5更新

Python PyQT小部件中的右键单击功能从PyQT4中断到PyQT5更新,python,qt,user-interface,pyqt,pyqt5,Python,Qt,User Interface,Pyqt,Pyqt5,我以前用PyQT4开发了一个应用程序,包括一个QListWidget,它有一个右键单击的弹出窗口,允许用户快速删除小部件中的行 这是基于堆栈溢出的代码: 不幸的是,升级到PYQt5后,此功能现在已损坏。我得到错误:QListWidget对象没有属性“connect” 我怀疑这是由于PyQt5中的一个新实现造成的,这很烦人,尽管我无法从新的Qt文档中找到一个简单的方法来解决这个问题 有人能建议我如何恢复我原来的功能吗 我不希望为了将来的校对而回滚到Qt5。在PyQt5中,PyQt4的旧式信号和插槽

我以前用PyQT4开发了一个应用程序,包括一个QListWidget,它有一个右键单击的弹出窗口,允许用户快速删除小部件中的行

这是基于堆栈溢出的代码:

不幸的是,升级到PYQt5后,此功能现在已损坏。我得到错误:QListWidget对象没有属性“connect”

我怀疑这是由于PyQt5中的一个新实现造成的,这很烦人,尽管我无法从新的Qt文档中找到一个简单的方法来解决这个问题

有人能建议我如何恢复我原来的功能吗


我不希望为了将来的校对而回滚到Qt5。

在PyQt5中,PyQt4的旧式信号和插槽不受支持

因此,要解决问题,请更换线路

        self.myListWidget.connect(self.myListWidget, QtCore.SIGNAL("customContextMenuRequested(QPoint)" ), self.listItemRightClicked)
        self.connect(menu_item, QtCore.SIGNAL("triggered()"), self.menuItemClicked) 

并更换线路

        self.myListWidget.connect(self.myListWidget, QtCore.SIGNAL("customContextMenuRequested(QPoint)" ), self.listItemRightClicked)
        self.connect(menu_item, QtCore.SIGNAL("triggered()"), self.menuItemClicked) 


这非常有效,代码也更具可读性。谢谢