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# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class VentanaPrincipal(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
#Colocacion de la ventana en pantalla y cambio de icono de la aplicacion.
self.setGeometry(250, 200, 800, 600)
self.setWindowTitle('prueba')
self.setWindowIcon(QtGui.QIcon("icono.gif"))
self.center()
self.statusBar().showMessage('Listo')
bnuevoensayo= QtGui.QAction(QtGui.QIcon('Iconos\martillo.png'), 'Nuevo Ensayo', self)
bnuevoensayo.setShortcut('F9')
bnuevoensayo.setStatusTip('Nuevo Ensayo')
self.connect(bnuevoensayo, QtCore.SIGNAL('triggered()'), self.slot_ensayo)
#Barra de Menu
menubar = self.menuBar()
#Menu Archivo
marchivo = menubar.addMenu('&Archivo')
marchivo.addAction(bnuevoensayo)
#Menu Opciones
mopciones = menubar.addMenu('&Opciones')
#Menu Ayuda
mayuda = menubar.addMenu('&Ayuda') #Ayuda
#Barra de herramientas
toolbar = self.addToolBar('prueba')
toolbar.addAction(bnuevoensayo)
#Funcion para centrar la ventana en la pantalla
def center(self):
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
def slot_ensayo(self):
print "hola"
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
window = VentanaPrincipal()
window.show()
sys.exit(app.exec_())
Despues para el otro probleme te sugiero esta solucion:
Código Python:
Ver original# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class VentanaPrincipal(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
#Colocacion de la ventana en pantalla y cambio de icono de la aplicacion.
self.setGeometry(250, 200, 800, 600)
self.setWindowTitle(
'prueba')
self.setWindowIcon(QtGui.QIcon(
'C:/dibujo.GIF'))
#Definicion de botón QUIT para salir de la aplicación.
quit = QtGui.QPushButton('Salir', self)
quit.setGeometry(730, 555, 60, 35)
self.connect(quit, QtCore.SIGNAL('clicked()'), self.cerrar)
#Definición de un evento para la salida del programa
def closeEvent(self, event):
event.ignore()
self.cerrar()
def cerrar(self):
reply = QtGui.QMessageBox.question(self, 'Confirmacion de cierre de aplicacion',"Desea cerrar la aplicacion?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes: sys.exit()
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
window = VentanaPrincipal()
window.show()
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.