Tema: Evento PyQt4
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/08/2010, 10:31
llos
 
Fecha de Ingreso: junio-2010
Mensajes: 29
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Evento PyQt4

Hey!!!

Tienes que imvestigar mas!! el ultimo problema que pusiste es pq el tercer argumento no puede ser una funcion, si no un nombre de funcion, a parte tampoco iria, ya que el evento no es clicked, si investigas un poco, una accion, no tiene ningun evento clicked , (no se si me explico dimelo y te lo explico mejor), el codigo resultante seria:

Código Python:
Ver original
  1. # -*- coding: utf-8 -*-
  2. import sys
  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('prueba')
  12.         self.setWindowIcon(QtGui.QIcon("icono.gif"))
  13.         self.center()
  14.         self.statusBar().showMessage('Listo')
  15.  
  16.  
  17.  
  18.         bnuevoensayo= QtGui.QAction(QtGui.QIcon('Iconos\martillo.png'), 'Nuevo Ensayo', self)
  19.         bnuevoensayo.setShortcut('F9')
  20.         bnuevoensayo.setStatusTip('Nuevo Ensayo')
  21.         self.connect(bnuevoensayo, QtCore.SIGNAL('triggered()'), self.slot_ensayo)
  22.    
  23.        
  24. #Barra de Menu
  25.         menubar = self.menuBar()
  26.  
  27. #Menu Archivo
  28.         marchivo = menubar.addMenu('&Archivo')
  29.         marchivo.addAction(bnuevoensayo)
  30.  
  31.  
  32. #Menu Opciones
  33.         mopciones = menubar.addMenu('&Opciones')
  34.  
  35.  
  36. #Menu Ayuda
  37.         mayuda = menubar.addMenu('&Ayuda') #Ayuda
  38.  
  39.  
  40. #Barra de herramientas
  41.        
  42.         toolbar = self.addToolBar('prueba')
  43.         toolbar.addAction(bnuevoensayo)
  44.  
  45. #Funcion para centrar la ventana en la pantalla
  46.     def center(self):
  47.         screen = QtGui.QDesktopWidget().screenGeometry()
  48.         size =  self.geometry()
  49.         self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
  50.    
  51.     def slot_ensayo(self):
  52.         print "hola"
  53.  
  54. if __name__=="__main__":
  55.  
  56.     app = QtGui.QApplication(sys.argv)
  57.     window = VentanaPrincipal()
  58.     window.show()
  59.     sys.exit(app.exec_())


Despues para el otro probleme te sugiero esta solucion:

Código Python:
Ver original
  1. # -*- coding: utf-8 -*-
  2. import sys
  3. from PyQt4 import QtGui, QtCore
  4.  
  5. class VentanaPrincipal(QtGui.QWidget):
  6.     def __init__(self, parent=None):
  7.         QtGui.QWidget.__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(
  14.         'C:/dibujo.GIF'))
  15.  
  16. #Definicion de botón QUIT para salir de la aplicación.
  17.         quit = QtGui.QPushButton('Salir', self)
  18.         quit.setGeometry(730, 555, 60, 35)
  19.         self.connect(quit, QtCore.SIGNAL('clicked()'), self.cerrar)
  20.  
  21.  
  22.  
  23. #Definición de un evento para la salida del programa
  24.     def closeEvent(self, event):
  25.       event.ignore()
  26.       self.cerrar()
  27.     def cerrar(self):
  28.             reply = QtGui.QMessageBox.question(self, 'Confirmacion de cierre de aplicacion',"Desea cerrar la aplicacion?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
  29.             if reply == QtGui.QMessageBox.Yes: sys.exit()
  30.  
  31.  
  32. if __name__=="__main__":
  33.  
  34.     app = QtGui.QApplication(sys.argv)
  35.     window = VentanaPrincipal()
  36.     window.show()
  37.     sys.exit(app.exec_())


Si quieres mas ayuda, enviame un mp y te digo mi mail, y si quieres te ayudo en lo que estes haciendo. No encuentro a mucha gente interesada en PyQt4 XDXD

Saludos


Ups, acabo de leer lo del quit que ha dicho el, i si funciona es mejor a mi solucion, aunque piensa que no es necessario saberlo todo siempre, tienes que buscar una solucion con las herramientas que tienes.