Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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 如何从QTextEdit关联菜单中删除standart menuitem_Python_Qt_Pyqt_Pyside - Fatal编程技术网

Python 如何从QTextEdit关联菜单中删除standart menuitem

Python 如何从QTextEdit关联菜单中删除standart menuitem,python,qt,pyqt,pyside,Python,Qt,Pyqt,Pyside,因此,我对PySide和QT非常陌生,我想知道如何从QTextEdit标准关联菜单中删除menuitem(不管是哪种类型(撤消、重做、复制、粘贴等)) 或者告诉我获取此关联菜单的QMenu对象的方法。然后我可以将removeAction方法应用于menuitem TIA.欢迎来到pyside!:-) 由于QTextEdit继承了QWidget,您可能希望将上下文菜单策略设置为custom,然后提供自己的弹出菜单 我建议创建自己的自定义上下文的原因是qmenu在qtexdit上不能作为持久对象真

因此,我对PySide和QT非常陌生,我想知道如何从QTextEdit标准关联菜单中删除menuitem(不管是哪种类型(撤消、重做、复制、粘贴等))

或者告诉我获取此关联菜单的QMenu对象的方法。然后我可以将removeAction方法应用于menuitem

TIA.

欢迎来到pyside!:-)

由于QTextEdit继承了QWidget,您可能希望将上下文菜单策略设置为custom,然后提供自己的弹出菜单


我建议创建自己的自定义上下文的原因是qmenu在qtexdit上不能作为持久对象真正访问。它的动态构建基于单击时的上下文。我不确定是否有一种方法可以在qmenu显示之前重载以获得对它的访问。我认为你能做的最好的事情就是完整地定义你自己

要完全控制上下文菜单,首先使用将上下文meu策略更改为
Qt.CustomContextMenu
。然后将处理程序连接到信号。在处理程序中,然后可以使用该方法获取标准上下文菜单对象

根据需要修改菜单,然后使用传递给信号处理程序的
QPoint
显示菜单,如下所示:

menu.exec_(textedit.viewport().mapToGlobal(point))

感谢您添加“createStandardContextMenu”部分。我不确定我的答案中关于这方面的答案。不幸的是,上面的链接不再有效-这可能是一个副本: