python - 如何从 QTextEdit 上下文菜单中删除标准菜单项

标签 python qt pyqt pyside

所以,我对 PySide 和 QT 还很陌生,想知道如何从 QTextEdit 标准上下文菜单中删除 menuitem(无论哪种类型(撤消、重做、复制、粘贴等))。

或者告诉我一种获取此上下文菜单的 QMenu 对象的方法。然后我可以将removeAction方法应用于menitem。

TIA。

最佳答案

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

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

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

关于python - 如何从 QTextEdit 上下文菜单中删除标准菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7779988/

相关文章:

python - 如何在python中绘制时间序列数组,并显示置信区间?

python - fastcgi、cherrypy 和 python

c - 分配 :what can "corrupt" allocated memory in Linux/Qt application (threads involved)?

python - PyQt 4 用户界面卡住

javascript - 来自 QWebPage 的 QImage 未完全呈现

python - sys.exit(app.exec_()) PyQT Python - 为什么将 app.exec_() 作为参数传递?

python - 我该如何修复此 TypeError : append() takes exactly one argument (3 given) for this specific example?

python - 使用Python中的线性回归估算缺失值

c++ - 无法在 Qt 中删除 TreeView 的属性

c++ - 如何在 QT 旋转框和标签中将 300000 显示为 300,000?