ventanas repetir para opciones insertar impacientes hacer ejercicios ejemplos con como codigo cerrar python qt pyqt

para - repetir menu python



Use QAction sin agregar al menĂº(o barra de herramientas) (1)

Debe agregar su acción a un widget antes de que se procese. De la documentación de QT para QAction:

Las acciones se agregan a los widgets usando QWidget :: addAction () o QGraphicsWidget :: addAction (). Tenga en cuenta que se debe agregar una acción a un widget antes de poder usarlo; esto también es cierto cuando el atajo debe ser global (es decir, Qt :: ApplicationShortcut como Qt :: ShortcutContext).

Esto no significa que serán visibles como un elemento de menú o lo que sea, sino que serán procesos como parte del ciclo de eventos de widgets.

Estoy tratando de desarrollar una aplicación con un enfoque muy modular de los comandos y pensé que sería bueno, sind estoy usando pyqt, usar QAction para unir atajos a los comandos.
Sin embargo, parece que los accesos directos a acciones solo funcionan cuando la acción es visible en un menú o barra de herramientas. ¿Alguien sabe una manera de hacer que esta acción funcione sin que sea visible?
A continuación, un código de ejemplo que muestra lo que estoy intentando.
Gracias,

André

from PyQt4 import * from PyQt4.QtCore import * from PyQt4.QtGui import * import sys class TesteMW(QMainWindow): def __init__(self, *args): QMainWindow.__init__(self, *args) self.create_action() def create_action(self): self.na = QAction(self) self.na.setText(''Teste'') self.na.setShortcut(''Ctrl+W'') self.connect(self.na, SIGNAL(''triggered()''), self.action_callback) # uncomment the next line for the action to work # self.menuBar().addMenu("Teste").addAction(self.na) def action_callback(self): print ''action called!'' app = QApplication(sys.argv) mw = TesteMW() mw.show() app.exec_()