No puedo hablar en nombre de pitón, pero es bastante fácil en C++.
primera después de crear el widget que establece la directiva:
w->setContextMenuPolicy(Qt::CustomContextMenu);
continuación, se conecta el evento menú contextual para un slot:
connect(w, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(ctxMenu(const QPoint &)));
Por último, se implementa la ranura:
void A::ctxMenu(const QPoint &pos) {
QMenu *menu = new QMenu;
menu->addAction(tr("Test Item"), this, SLOT(test_slot()));
menu->exec(w->mapToGlobal(pos));
}
así es como lo haces en C++, no debería ser demasiado diferente en la API de python.
EDIT: después de mirar en google, aquí está la parte de configuración de mi ejemplo en Python:
self.w = QWhatever();
self.w.setContextMenuPolicy(Qt.CustomContextMenu)
self.connect(self.w,SIGNAL('customContextMenuRequested(QPoint)'), self.ctxMenu)
nota de que en el PyQt4, CustomContextMenu ubicación en el paquete está aquí: PyQt4.QtCore.Qt.CustomContextMenu –
Me encanta que la downvote azar después de dos años y 19 upvotes :-P –
El downvote fue accidental y estoy Realmente lo siento mucho. La respuesta realmente me ayudó mucho. –