2016-05-11 3 views
0

У меня есть простой код, который создает окно с панелями инструментов.Как отключить щелчок правой кнопкой мыши в 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_() 

Это создаст 3 панели инструментов. Но проблема в том, что когда я нажимаю правой кнопкой мыши на панели инструментов, появляется небольшое окно, и когда я нажимаю на это маленькое окно, все панели инструментов исчезают. Если я снова сделаю то же самое, панели инструментов снова вернутся. Я не хочу, чтобы пользователь мог сделать что-то подобное, поэтому я подумал, что если я отключу его, он будет исправлен, но я не смог. Вот что маленькое окно

enter image description here

ответ

0
self.toolBar = QToolBar(self) 
self.addToolBar(Qt.TopToolBarArea, self.toolBar) 
self.toolBar.setContextMenuPolicy(Qt.PreventContextMenu)