¿Qué significa gui? GUI de Python: creación de una aplicación sencilla con PyQt y Qt Designer. Convertir el diseño en código

hace mucho que no escribo aplicaciones de escritorio en Java en general y con usando columpio En particular. Sin embargo, era necesaria una pequeña GUI. Elegí como herramienta IDEA IntelliJ Edición comunitaria, versión 2016.1.

Empecé a esculpir y, naturalmente, lo primero que encontré fue que, aunque ha pasado mucha agua bajo el puente desde Borland Java Builder 2006, crear interfaces de pantalla no se ha vuelto más fácil, sino todo lo contrario. Y una de las razones para elegir IDEA fue precisamente la presencia de un diseñador Swing "listo para usar", pero no está del todo claro cómo usarlo de inmediato: se genera el formulario, se crea la clase, las variables de control se crean a partir del diseñador... pero eso es todo: al crear nuestra clase, no aparece el formulario en la pantalla aparece

Busqué en Internet y hay aproximadamente cero información. La gente dice: "¡Crea y sigue adelante!" Mmm...

A partir de los resultados de una pequeña prueba sobre este tema, decidí publicar las instrucciones, ya que, teniendo en cuenta mi experiencia pasada, me resultó mucho más fácil buscar que para un principiante que estaba esculpiendo una forma en Swing por primera vez. .

Creación de formularios Swing GUI con JetBrains IntelliJ IDEA 2016.1

En primer lugar, para entender el proceso es mejor empezar con esto. Lo que debe hacer es ir al menú IDEA “Archivo -> Configuración” - allí “Editor -> Diseñador GUI” y marcar la casilla Generar GUI en: en código fuente Java. (Esto ayudará un poco a comprender el proceso en la primera etapa; luego podrá eliminarlo nuevamente).

Como resultado, generamos una clase descendiente de JDialog (que se puede crear y usar) y un formulario para ella.
Lanzamos nuestro proyecto y... ¡oh, horror de milagro! Cuando se compila, IDEA agrega código adicional al final de nuestro archivo.

( // Inicializador GUI generado por IntelliJ IDEA GUI Designer // >>> ¡¡IMPORTANTE!!<<< // DO NOT EDIT OR ADD ANY CODE HERE! $$$setupUI$$$(); } /** * Method generated by IntelliJ IDEA GUI Designer * >>> ¡¡IMPORTANTE!!<<< * DO NOT edit this method OR call it in your code! * * @noinspection ALL */ private void $$$setupUI$$$() { contentPane = new JPanel(); contentPane.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1)); .................... } /** * @noinspection ALL */ public JComponent $$$getRootComponent$$$() { return contentPane; }
Es fácil adivinar que todo nuestro formulario Swing está configurado en el método $$$setupUI$$$ generado automáticamente.

Recuerde la configuración que establecimos al principio: "GUI en: -> Código fuente de Java". Si no lo instala, este método simplemente aparecerá directamente en el archivo _class_, sin pasar por el archivo java (descompílelo si tiene dudas; lo hice). En consecuencia, puede devolver la configuración "GUI Into:" a su forma original para que este código (que de todos modos no se recomienda editar) no se convierta en una monstruosidad.

Ahora que entendemos cómo funciona, pasemos a crear otras formas, no necesariamente diálogos.

De nuevo clic derecho haga clic en la carpeta o archivo de código fuente, seleccione "Nuevo -> Formulario GUI" - ingrese el nombre de la clase para el formulario.

Se generan la clase y el formulario para ella. Agregamos varios controles al formulario. En el diseñador GUI miramos el nombre. elemento raíz(generalmente panel1, si IDEA no estableció un nombre y esto sucede, fuercelo; lo llamé rootPanel para mayor claridad).

Pasemos a código fuente nuestra clase.

Entonces:
1. Agregue la herencia "extiende JFrame" para nuestra clase;
2. Agrega un constructor de clase con las líneas:

EstablecerPanelContenido(panel1);

setVisible(verdadero);

Código de clase final


GUIFrame de clase pública extiende JFrame( botón JButton privado1; JPanel rootPanel privado; GUIFrame público() ( setContentPane(rootPanel); setVisible(true); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); ) principal vacío estático público (String args) ( new GUIFrame() ; ) )

Todo. El formulario está listo para usar. Para el resto, consulte las numerosas instrucciones de Swing.

PD Alternativamente, no puedes heredar nuestra clase de JFrame, sino crear un constructor del formulario:
Marco JFrame = nuevo JFrame();

marco.setContentPane(panel1);

frame.setVisible (verdadero); Esta opción también funciona; quizás a alguien le resulte útil. Etiquetas: Agregar etiquetas

Muchos de nosotros usamos billeteras web, pero es mucho más seguro almacenar datos en su computadora. Esto protege nuestros fondos de

ataques de piratas informáticos

, que están dirigidos principalmente a billeteras en línea. Además, algunas ICO técnicamente solo pueden aceptar monedas Neo de clientes de billetera de PC.
¿Cómo cambiar de la billetera en línea Neo a la billetera para PC? A continuación encontrará instrucciones completas y detalladas con imágenes en las que se puede hacer clic. 1. Guarde la clave privada de su billetera en línea. -> (1) Inicie su navegador. Ve a tu billetera.

Puede ver la clave privada de la billetera neowallet.cn en la pestaña

Recibir
Comprueba tu clave privada

La clave privada de la billetera en el sitio web neotracker.io se encuentra en la parte inferior de la página del menú principal de la billetera.

(2) Copie la clave privada. Asegúrese de guardarlo en un lugar seguro al que no puedan acceder personas no autorizadas. Cualquiera que tenga acceso a su clave privada también tendrá acceso a su billetera y a sus transacciones.

Ahora que está listo para importar su billetera, pasemos al paso 2. Importando la billetera a su computadora. 2.1 Instalar el cliente para PC

(3) Espere mientras la red se sincroniza. Puede ver la longitud actual de la cadena de bloques en neotracker.io. La sincronización de la red puede durar desde varias horas hasta varios días. Para más sincronización rápida Le aconsejo que descargue la cadena de bloques Neo manualmente y descomprima la carpeta Chain en el archivo raíz de su Neo Gui.

2.2 Crear una base de datos de billetera
Para utilizar la GUI, debe crear una base de datos de billetera (archivo Wallet)

(1) Haga clic en billetera, Crear base de datos de billetera. Aparecerá una nueva ventana

(2) Haga clic Navegar y seleccione la ubicación de almacenamiento y haga clic Ahorrar

(3) Entrar Nueva contraseña dos veces, guardar o recordar.

(4) Haga clic Confirmar y la base de datos se ha creado exitosamente. También se creará automáticamente. nueva dirección billetera

2.3 Importación de la clave privada a la base de datos de la billetera.

(1) Haga clic derecho en cualquier lugar del espacio de la pestaña Cuenta

(2) Elige Importar, Importar WIF. Aparecerá una nueva ventana de importación de clave privada.

(3) Ingrese la clave privada de su antigua billetera web. Hacer clic DE ACUERDO

(4) Aparecerá una nueva dirección, será idéntica a la dirección de su billetera web, con el mismo saldo de todas las neo monedas y sus tokens.

La billetera web ahora se ha movido a su base de datos de billetera Neo Gui. Cada vez que inicie Neo Gui, haga clic en billetera, abrir base de datos de billetera para restaurar la base de datos que creamos.
Si tienes alguna duda escribe en los comentarios aquí o en el canal de telegram https://t.me/cryptoxleb

Este artículo está dirigido a aquellos que recién comienzan a familiarizarse con la creación de aplicaciones con interfaz gráfica(GUI) en Python. En él veremos los conceptos básicos del uso de PyQt junto con Qt Designer. Paso a paso crearemos un sencillo. GUI de Python una aplicación que mostrará el contenido del directorio seleccionado.

¿Qué necesitamos?

Necesitaremos PyQt y Qt Designer, y Python, por supuesto.

Este artículo utiliza PyQt5 con Python 3, pero no existen diferencias significativas entre PyQt y PySide o sus versiones de Python 2.

Linux: Todo lo que necesitas probablemente esté en los repositorios de tu distribución. Qt Designer se puede instalar desde el Centro de aplicaciones, pero PyQt deberá instalarse a través del terminal. Puedes instalar todo lo que necesitamos con un comando, por ejemplo, así:

# para Fedora: $ sudo dnf install python3-qt5 qt-creator # para Debian/Ubuntu: $ sudo apt install python3-qt5 pyqt5-dev-tools qtcreator

Una vez que haya terminado con los preparativos, abra un símbolo del sistema/terminal y asegúrese de que puede usar el comando pyuic5. Deberías ver lo siguiente:

Error de $ pyuic5: se debe especificar un archivo ui de entrada

Si ve un mensaje que indica que no existe tal comando o algo así, intente buscar en Google la solución a su problema. Sistema operativo y versiones PyQt.

Si está utilizando Windows, lo más probable es que la ruta sea C:\Python36\Scripts (cambie 36 a su Versión de Python) no aparece en su RUTA. Consulte este hilo en Stack Overflow para descubrir cómo resolver el problema.

Diseño

Lo esencial

Ahora que tenemos todo listo, comencemos con un diseño simple.

Abra Qt Designer donde verá un cuadro de diálogo nueva forma, seleccionar Ventana principal y presione Crear.

Después de esto deberías tener forma- una plantilla para una ventana, cuyo tamaño se puede cambiar y donde se pueden insertar objetos de la ventana del widget, etc. Mira la interfaz, es bastante simple.

Ahora cambiemos un poco el tamaño de nuestra ventana principal, porque... No necesitamos que sea tan grande. Eliminemos también el menú y la barra de estado agregados automáticamente, ya que no son útiles en nuestra aplicación.

Todos los elementos del formulario y su jerarquía predeterminada se muestran en el lado derecho de la ventana de Qt Designer llamada Inspector de objetos. Puede eliminar objetos fácilmente haciendo clic derecho sobre ellos en esta ventana. O puedes seleccionarlos en el formulario principal y presionar la tecla DEL en el teclado.

Como resultado, tenemos un formulario casi vacío. El único objeto que queda es centralwidget, pero lo necesitaremos, así que no haremos nada con él.

Ahora arrastre y suelte en algún lugar del formulario principal. Widget de lista(No Vista de lista) Y Pulsador de Cuadro de widgets.

Diseños

En lugar de utilizar posiciones y tamaños fijos de elementos en su aplicación, es mejor utilizar diseños. Las posiciones y tamaños fijos se verán bien para usted (siempre que no cambie el tamaño de la ventana), pero nunca podrá estar seguro de que todo será exactamente igual en otras máquinas y/o sistemas operativos.

Diseños son contenedores para widgets que los mantendrán en una posición determinada en relación con otros elementos. Por lo tanto, cuando se cambia el tamaño de la ventana, el tamaño de los widgets también cambiará.

Creemos nuestro primer formulario sin usar diseños. Arrastre la lista y el botón en el formulario y cambie su tamaño para que se vea así:

Ahora en el menú de Qt Designer haga clic Forma, luego seleccione Avance y verá algo similar a la captura de pantalla anterior. Tiene buena pinta, ¿no? Pero esto es lo que sucede cuando cambiamos el tamaño de la ventana:

Nuestros objetos permanecieron en los mismos lugares y conservaron sus tamaños, a pesar de que el tamaño de la ventana principal cambió y el botón es casi invisible. Por eso vale la pena utilizar maquetas en la mayoría de los casos. Por supuesto, hay ocasiones en las que, por ejemplo, necesita un ancho fijo o mínimo/máximo para un objeto. Pero, en general, al desarrollar una aplicación, es mejor utilizar maquetas.

La ventana principal ya admite diseños, por lo que no necesitamos agregar nada a nuestro formulario. Simplemente haga clic derecho en Ventana principal V Inspector de objetos y seleccione DisposiciónDiseñar verticalmente. También puede hacer clic derecho en un área vacía del formulario y seleccionar las mismas opciones:

Sus elementos deben estar en el mismo orden que estaban antes de realizar los cambios, pero si no lo están, simplemente arrástrelos a su lugar.

Como utilizamos la ubicación vertical, todos los elementos que agreguemos se colocarán verticalmente. Puede combinar ubicaciones para lograr el resultado deseado. Por ejemplo, colocar dos botones horizontalmente dentro de uno vertical quedaría así:

Si no puedes mover un elemento en la ventana principal, puedes hacerlo en la ventana Inspector de objetos.

Toques finales

Ahora, gracias a la colocación vertical, nuestros elementos quedan alineados correctamente. Lo único que queda por hacer (aunque no es necesario) es cambiar el nombre de los elementos y su texto.

EN aplicación sencilla De esta manera, con solo una lista y un botón, no es necesario cambiar los nombres, ya que de todos modos es fácil de usar. Sin embargo, nombrar los elementos correctamente es algo a lo que debes acostumbrarte desde el principio.

Las propiedades del elemento se pueden cambiar en la sección. Editor de propiedades.

Consejo: Puede cambiar el tamaño, mover o agregar elementos de uso frecuente a la interfaz de Qt Designer para acelerar su flujo de trabajo. Puede agregar partes ocultas/cerradas de la interfaz a través del elemento del menú Vista.

Haga clic en el botón que agregó al formulario. Ahora en Editor de propiedades Deberías ver todas las propiedades de este elemento. EN en este momento Estamos interesados ​​en el nombre del objeto y el texto en la sección QAbstractButton. Puedes colapsar secciones en Editor de propiedades haciendo clic en el nombre de la sección.

Cambie el nombre del objeto a btnBrowse y el texto a Seleccionar carpeta.

Debería verse así:

El nombre del objeto de lista es listWidget, que es bastante apropiado en este caso.

Guarde el diseño como design.ui en la carpeta de su proyecto.

Convertir el diseño en código

Por supuesto, puede utilizar archivos .ui directamente desde el código Python, pero hay otra forma que puede parecer más sencilla. Podemos convertir el código del archivo .ui en un archivo Python, que luego podemos importar y usar. Para esto usamos el comando pyuic5 desde la terminal/línea de comando.

Para convertir un archivo .ui en un archivo Python llamado design.py, use siguiente comando:

$ pyuic5 ruta/a/design.ui -o salida/ruta/a/design.py

Escribir código

Ahora tenemos un archivo design.py con la parte correcta diseño de nuestra aplicación y comenzamos a trabajar en la creación de su lógica.

Cree un archivo main.py en la carpeta donde se encuentra design.py.

Usamos el diseño.

Para la aplicación Python GUI necesitará los siguientes módulos:

Importar sys # sys es necesario para pasar argv a QApplication desde PyQt5 importar QtWidgets

También necesitamos el código de diseño que creamos anteriormente, así que lo importaremos también:

Importar diseño # Este es nuestro archivo de diseño convertido

Dado que el archivo de diseño se reescribirá por completo cada vez que se cambie el diseño, no lo cambiaremos. En lugar de eso crearemos nueva clase EjemploApp, que combinaremos con el código de diseño para utilizar todas sus funciones:

Clase EjemploApp(QtWidgets.QMainWindow, design.Ui_MainWindow): def __init__(self): # Esto es necesario aquí para acceder a variables, métodos # etc. en el archivo design.py super().__init__() self.setupUi(self) # Esto es necesario para inicializar nuestro diseño

En esta clase interactuaremos con elementos de la interfaz, agregaremos conexiones y todo lo que necesitemos. Pero primero, necesitamos inicializar la clase cuando ejecutamos el código. Nos ocuparemos de esto en la función main():

Def main(): app = QtWidgets.QApplication(sys.argv) # Nueva instancia de ventana QApplication = EjemploApp() # Crea un objeto de la clase EjemploApp window.show() # Muestra la ventana app.exec_() # y ejecuta la aplicación

Y para realizar esta función utilizaremos la construcción habitual:

If __name__ == "__main__": # Si ejecutamos el archivo directamente en lugar de importar main() # entonces ejecutamos función principal()

Como resultado, main.py tiene este aspecto:

Importar sys # sys es necesario para pasar argv a QApplication desde PyQt5 importar QtWidgets importar diseño # Este es nuestro archivo de diseño convertido clase EjemploApp(QtWidgets.QMainWindow, design.Ui_MainWindow): def __init__(self): # Esto es necesario aquí para acceder a las variables , métodos # etc. en el archivo design.py super().__init__() self.setupUi(self) # Esto es necesario para inicializar nuestro diseño def main(): app = QtWidgets.QApplication(sys.argv) # Nueva instancia de ventana QApplication = EjemploApp () # Crear un objeto de la clase EjemploApp window.show() # Mostrar la ventana app.exec_() # y ejecutar la aplicación if __name__ == "__main__": # Si ejecutamos el archivo directamente y no importamos main( ) # luego ejecutamos la función main()

Si ejecutamos este código: $ python3 main.py ¡nuestra aplicación se iniciará!

Pero presionar el botón no hace nada, así que tendremos que resolverlo.

Agregar funcionalidad a nuestra aplicación GUI de Python

Nota Todo el código adicional se escribe dentro de la clase EjemploApp.

Empecemos con el botón. Seleccionar carpeta. Puede vincular un evento como hacer clic en un botón a una función como esta:

Self.btnBrowse.clicked.connect(self.browse_folder)

Agregue esta línea al método __init__ de la clase EjemploApp para vincularla cuando se inicie la aplicación. Ahora echémosle un vistazo más de cerca:

  • self.btnBrowse: aquí btnBrowse es el nombre del objeto que definimos en Qt Designer. self se explica por sí mismo y significa que pertenece a la clase actual;
  • en el que se hizo clic es el evento que queremos vincular. Ud. diferentes elementos varios eventos, por ejemplo, los widgets de lista tienen itemSelectionChanged, etc.;
  • connect(): un método que vincula un evento a una llamada a la función pasada;
  • self.browse_folder es solo una función (método) que describimos en la clase EjemploApp.

Para abrir un cuadro de diálogo de selección de carpeta, podemos usar el método integrado QtWidgets.QFileDialog.getExistingDirectory:

Directorio = QtWidgets.QFileDialog.getExistingDirectory(self, "Seleccione una carpeta")

Si el usuario selecciona un directorio, se asignará la variable del directorio. camino absoluto al directorio seleccionado; de lo contrario, será Ninguno. Para evitar ejecutar más código si el usuario cierra el cuadro de diálogo, usamos el comando if directorio:.

Para mostrar el contenido del directorio necesitamos importar el sistema operativo:

Importar sistema operativo

Y obtenga la lista de contenidos como esta:

Os.listdir(ruta)

Para agregar elementos a listWidget usamos el método addItem() y para eliminar todos los elementos tenemos self.listWidget.clear() .

Como resultado, la función browser_folder debería verse así:

Def browser_folder(self): self.listWidget.clear() # En caso de que ya haya elementos en el directorio de la lista = QtWidgets.QFileDialog.getExistingDirectory(self, "Seleccione una carpeta") # abra el cuadro de diálogo de selección de directorio y establezca el valor de la variable # a la ruta al directorio seleccionado if directorio: # no continuar la ejecución si el usuario no ha seleccionado un directorio para nombre_archivo en os.listdir(directorio): # para cada archivo en el directorio self.listWidget.addItem(nombre_archivo) ) # agregar el archivo al listWidget

Ahora, si ejecutamos la aplicación, pulsamos en el botón y seleccionamos un directorio, veremos:

Así es como se ve el código completo de nuestra aplicación Python GUI:

Import sys # sys es necesario para pasar argv a QApplication import os # Desde aquí necesitaremos métodos para mostrar el contenido de los directorios de PyQt5 import QtWidgets import design # Esta es nuestra clase de archivo de diseño convertido EjemploApp(QtWidgets.QMainWindow, design.Ui_MainWindow) : def __init__(self) : # Esto es necesario aquí para acceder a variables, métodos # etc. en el archivo design.py super().__init__() self.setupUi(self) # Esto es necesario para inicializar nuestro diseño self.btnBrowse.clicked.connect(self.browse_folder) # Ejecuta la función de exploración_carpeta # cuando se hace clic en el botón def browser_folder(self): self.listWidget.clear() # En caso de que ya haya elementos en el directorio de la lista = QtWidgets.QFileDialog.getExistingDirectory(self, "Seleccione una carpeta") # abra el cuadro de diálogo de selección de directorio y establezca el valor de la variable # es igual a la ruta al directorio seleccionado if directorio: # no continúa la ejecución si el usuario no ha seleccionado un directorio para file_name en os.listdir(directorio): # para cada archivo en el directorio self.listWidget.addItem( file_name) # agrega el archivo a listWidget def main(): app = QtWidgets.QApplication (sys.argv) # Nueva instancia de ventana QApplication = EjemploApp() # Crea un objeto de la clase EjemploApp window.show() # Muestra la ventana app.exec_() # y ejecuta la aplicación si __name__ == "__main__": # Si ejecutamos el archivo directamente, en lugar de importar main() # entonces ejecutamos la función main()

Estos fueron los conceptos básicos del uso de Qt Designer y PyQt para desarrollar una aplicación GUI de Python. Ahora puede cambiar de forma segura el diseño de la aplicación y utilizar el comando pyuic5 sin temor a perder el código escrito.

Primero, familiaricémonos con el formato en sí con el que tenemos que trabajar. El formato Matroska (Matryoshka) se desarrolló originalmente como proyecto abierto, diseñado para servir como alternativa a los contenedores propietarios existentes. Como resultado, después de varios años de desarrollo, ingresó al mercado y rápidamente comenzó a ganar popularidad, especialmente en Internet. ¿Qué causó un aumento tan rápido de popularidad? En primer lugar, porque los creadores escucharon lo que los usuarios quieren ver en sus archivos de vídeo y lo implementaron. En la gran mayoría de los casos, el archivo de vídeo que se reproduce requiere soporte para múltiples pistas de audio y subtítulos. EN formato mkv Todo esto se implementa de la forma más sencilla y cómoda posible. Puedes poner todo lo que quieras en el recipiente. audio alternativo archivos y subtítulos y alternar entre ellos con un solo clic.

Veamos en qué casos puede surgir la necesidad de utilizar el programa. Por ejemplo, descargó una película en la que la pista principal es un archivo con una traducción al ruso, y otras carreteras, incluido el inglés, son archivos separados. Y sólo necesitas una pista original en inglés para mejorar tu conocimiento del idioma. Por supuesto, puede conectar una vía externa durante la reproducción, pero muchos reproductores tienen problemas con esto, algunos no ofrecen tales capacidades en absoluto, en otros es posible, pero bastante difícil. ¿Qué hacer en este caso? Aquí es donde lo necesitaremos. GUI de fusión MKV. A continuación te contamos cómo agregar rápida y fácilmente pistas externas en el contenedor mkv y luego cambiar rápida y fácilmente entre ellos en el propio reproductor.

Agregar pistas de audio adicionales al contenedor mkv

Realizaremos este procedimiento usando el ejemplo. Programas MKVtoolnix 5.9 y la caricatura El secreto de Kells. Disponemos de un contenedor original con dos pistas de audio y 4 vías externas adicionales. Que agregaremos a los dos primeros para obtener un archivo como resultado.

Así es como se ve la ventana principal del programa.

Para agregar un archivo con el que trabajaremos, debe hacer clic en el botón "agregar" o simplemente arrastrarlo al área designada como "Archivos de entrada". Después de lo cual tendremos información sobre este archivo en él.

Como puede ver en la captura de pantalla, nuestro contenedor ya contiene 1 archivo de video en formato mpeg4, 2 pistas de audio (comentarios en ruso e inglés), así como 21 archivos de subtítulos y archivos de capítulos. Además, queremos agregar al contenedor la carretera original en inglés, 2 traducciones alternativas al ruso más y 1 al ucraniano. Para ello hacemos clic en el botón agregar de la misma manera o arrastramos y soltamos los archivos con el mouse.

ahora tenemos archivos de entrada 5 posiciones. En principio, esto es suficiente para completar la formación del recipiente. Pero se pueden hacer pequeñas mejoras. Como puedes ver en la captura de pantalla, se han agregado nuevos caminos sonoros al final de la lista, además, no tienen nombre y el idioma no está definido; Esto se puede corregir realizando los cambios apropiados. En primer lugar pistas de audio Puede "moverlos" hacia arriba en la lista resaltándolos y presionando el botón "Arriba" varias veces. En segundo lugar, podemos agregarles descripciones ingresando los datos apropiados en el campo "Nombre de la pista". También podemos especificar el idioma de la pista en el campo "Idioma" y establecer la pista "predeterminada" (esta es la que se encenderá automáticamente cuando comience el vídeo).

Como podemos ver ahora, la pista en inglés se encuentra debajo de las dos primeras, tiene un nombre: Original, el idioma está seleccionado en inglés y la bandera de pista predeterminada está configurada. Supongamos que esto es todo lo que teníamos que hacer y comencemos a crear el archivo. Para hacer esto, simplemente haga clic en el botón "iniciar procesamiento". Por cierto, para que nuestro archivo se vea más bonito, también le daremos un nombre de salida diferente. Los destripadores suelen indicar la masa en el nombre del archivo. innecesario para el usuario información, por lo que la acortaremos y dejaremos solo el nombre y el permiso. Esto se puede hacer en el elemento "nombre del archivo de salida".

En esta captura de pantalla puedes ver el programa en el proceso de procesar un archivo.




Arriba