如何在PyQt5和小部件问题中禁用右键单击

GLH*_*LHF 3 python windows qtoolbar python-3.4 pyqt5

我有一个简单的代码,正在制作一个带有工具栏的窗口。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys

class AnaPencere(QMainWindow):
    def __init__(self):
        super().__init__()
        self.widget = QWidget(self)
        self.setCentralWidget(self.widget)

        self.toolBar = QToolBar(self)
        self.addToolBar(Qt.TopToolBarArea, self.toolBar)

        self.pushButton1 = QPushButton()
        self.pushButton1.setText("Open")
        self.toolBar.addWidget(self.pushButton1)

        self.toolBar.addSeparator()
        self.pushButton2 = QPushButton()
        self.pushButton2.setText("Save")
        self.toolBar.addWidget(self.pushButton2)

        self.pushButton3 = QPushButton()
        self.pushButton3.setText("Save as")
        self.toolBar.addWidget(self.pushButton3)
        #t = QToolBar(self)
        #t.setMovable(False)

uygulama = QApplication(sys.argv)
pencere = AnaPencere()
pencere.show()
uygulama.exec_()
Run Code Online (Sandbox Code Playgroud)

这将创建 3 个工具栏。但问题是,当我右键单击工具栏时,会弹出一个小窗口,当我单击该小窗口时,所有工具栏都消失了。如果我再次做同样的事情,工具栏又会回来。我不希望用户能够做类似的事情,所以我想如果我禁用右键单击它就会修复,但我不能。这里那个小窗户

在此输入图像描述

小智 6

self.toolBar = QToolBar(self)  
self.addToolBar(Qt.TopToolBarArea, self.toolBar)  
self.toolBar.setContextMenuPolicy(Qt.PreventContextMenu)
Run Code Online (Sandbox Code Playgroud)