aboutToQuit

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
from PyQt5.QtCore import QObject, pyqtSignal

class MyMainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # Crear una acción para salir de la aplicación
        exit_action = QAction('Salir', self)
        exit_action.triggered.connect(self.close)

        # Agregar la acción al menú Archivo
        file_menu = self.menuBar().addMenu('Archivo')
        file_menu.addAction(exit_action)

    def closeEvent(self, event):
        # Se emite la señal aboutToQuit antes de salir
        self.aboutToQuit.emit()
        super().closeEvent(event)

La señal aboutToQuit se emite cuando la aplicación está a punto de salir. Puedes usar esta señal para realizar tareas de limpieza o guardar datos antes de que la aplicación se cierre. Aquí tienes un ejemplo de cómo puedes usarla:

class MyApp(QObject):
    aboutToQuit = pyqtSignal()

    def __init__(self):
        super().__init__()

        # Crear la ventana principal
        self.window = MyMainWindow()
        
        # Conectar la señal aboutToQuit de la ventana a la acción de limpieza
        self.window.aboutToQuit.connect(self.cleanUp)

    def cleanUp(self):
        # Realizar tareas de limpieza aquí antes de salir de la aplicación
        print("Tareas de limpieza realizadas antes de salir.")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    my_app = MyApp()
    sys.exit(app.exec_())


En este ejemplo, hemos creado una clase MyApp que representa una aplicación PyQt5. Hemos conectado la señal aboutToQuit de la ventana principal (MyMainWindow) a un método cleanUp en la clase MyApp. Cuando se emite la señal aboutToQuit, el método cleanUp se ejecutará, lo que te permite realizar tareas de limpieza antes de que la aplicación se cierre. En este caso, simplemente se muestra un mensaje en la consola, pero puedes agregar tus propias tareas de limpieza según tus necesidades.

QMainWindow

Un `QMainWindow` en PyQt5 puede emitir una variedad de señales que representan eventos o interacciones que ocurren en la ventana principal. Aquí hay algunas de las señales más comunes que puede emitir un `QMainWindow`:

1. `aboutToQuit`: Emitida justo antes de que la aplicación esté a punto de salir, lo que permite realizar tareas de limpieza.

2. `iconSizeChanged`: Emitida cuando cambia el tamaño de los íconos en la barra de herramientas.

3. `windowIconChanged`: Emitida cuando cambia el icono de la ventana principal.

4. `windowTitleChanged`: Emitida cuando cambia el título de la ventana principal.

5. `customContextMenuRequested`: Emitida cuando se solicita un menú contextual personalizado en la ventana.

6. `focusChanged`: Emitida cuando el foco de entrada cambia dentro de la ventana principal.

7. `statusBar().messageChanged`: Emitida cuando cambia el mensaje en la barra de estado.

8. `toolButtonStyleChanged`: Emitida cuando cambia el estilo de los botones en la barra de herramientas.

9. `navigationModeChanged`: Emitida cuando cambia el modo de navegación (por ejemplo, cambiar entre modos de navegación de pestañas y de subventanas).

10. `customContextMenuRequested`: Emitida cuando se solicita un menú contextual personalizado en la ventana.

Estas son algunas de las señales más comunes que puedes conectar a funciones o métodos personalizados para responder a eventos específicos en tu aplicación PyQt5. Puedes consultar la documentación de PyQt5 para obtener una lista completa de señales disponibles en la clase `QMainWindow` y cómo se utilizan.

conda

Cómo crear y activar entornos de conda
para listar los entornos
conda env list

para crear entorno
conda create --name prueba

para activar entorno
conda activate prueba
instalar entornos de conda
conda install --file requirements.txt
Exportar entornos de conda
conda env export > environment.yml

Recrear exactamente ese entorno en otro nuevo
conda env create -f environment.yml

instalarlas en el entorno actual
conda env update -f .\environment.yml

Clonar un entorno de conda
conda create -n miclon --clone prueba

INDICE