Tema: Evento PyQt4
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/08/2010, 09:13
fj87
 
Fecha de Ingreso: junio-2010
Mensajes: 17
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Evento PyQt4

Te agradeceria bastante si me ayudas a como hacerlo

Paralalemente a eso, estoy tratando de emplear un nuevo Slot para que un boton realice las funciones que yo considere oportunas. Para ello, realizo lo siguiente:

Código Python:
Ver original
  1. import sys
  2. import Ensayo as modulo_ensayo
  3. from PyQt4 import QtGui, QtCore
  4.  
  5. class VentanaPrincipal(QtGui.QMainWindow):
  6.     def __init__(self, parent=None):
  7.         QtGui.QMainWindow.__init__(self, parent)
  8.  
  9. #Colocacion de la ventana en pantalla y cambio de icono de la aplicacion.
  10.         self.setGeometry(250, 200, 800, 600)
  11.         self.setWindowTitle(
  12.         'prueba')
  13.         self.setWindowIcon(QtGui.QIcon("icono.gif"))
  14.         self.center()
  15.         self.statusBar().showMessage('Listo')
  16.  
  17.  
  18.  
  19.         bnuevoensayo= QtGui.QAction(QtGui.QIcon('Iconos\martillo.png'), 'Nuevo Ensayo', self)
  20.         bnuevoensayo.setShortcut('F9')
  21.         bnuevoensayo.setStatusTip('Nuevo Ensayo')
  22.         self.connect(bnuevoensayo, QtCore.SIGNAL('clicked()'), self.slot_ensayo())
  23.    
  24.        
  25. #Barra de Menu
  26.         menubar = self.menuBar()
  27.  
  28. #Menu Archivo
  29.         marchivo = menubar.addMenu('&Archivo')
  30.         marchivo.addAction(bnuevoensayo)
  31.  
  32.  
  33. #Menu Opciones
  34.         mopciones = menubar.addMenu('&Opciones')
  35.  
  36.  
  37. #Menu Ayuda
  38.         mayuda = menubar.addMenu('&Ayuda') #Ayuda
  39.  
  40.  
  41. #Barra de herramientas
  42.        
  43.         toolbar = self.addToolBar('prueba')
  44.         toolbar.addAction(bnuevoensayo)
  45.  
  46. #Funcion para centrar la ventana en la pantalla
  47.     def center(self):
  48.         screen = QtGui.QDesktopWidget().screenGeometry()
  49.         size =  self.geometry()
  50.         self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
  51.    
  52.     def slot_ensayo(self):
  53.         modulo_ensayo.Ensayo()
  54.  
  55. if __name__=="__main__":
  56.  
  57.     app = QtGui.QApplication(sys.argv)
  58.     window = VentanaPrincipal()
  59.     window.show()
  60.     sys.exit(app.exec_())

Import Ensayo, se refiere a un modulo creado por mi, que funciona perfectamente sin la GUI. Mi problema en este caso reside en que realiza la accion del boton antes de iniciar siquiera la ventana, saltando posteriormente un error en Pydev indicandome que el tercer argumento de self.connect no es el adecuado.

El modulo Ensayo posee en su interior una funcion simple que no recibe argumentos de ningun tipo y finaliza con un return.

Espero no resultarte pesado jejeje

Muchas gracias por la ayuda!