QFILE para Crear archivos en QT Creator

La clase QFILE para Crear archivos en QT utiliza a variables del tipo QString y QTextStream para darle formato al archivo que se creará. Además de crear, QFile puede abrir un archivo para agregarle información adicional sin borrar los datos actuales. Este tipo de configuración se selecciona con la función «open». Para la opción del nombre se puede crear al momento de abrir el archivo o en cualquier otro momento.

cEl propósito de este tutorial será crear una aplicación visual que permita crear archivos. Entonces para crear a estos archivos se utilizará la clase QFile. Presentaremos dos ejemplos, uno para crear un archivo txt y otro para crear un archivo csv con QT.

QFILE para Crear archivos en QT Creator

Este tutorial esta organizado de la siguiente forma:

  • Ejemplo-1. Crear un Archivo de texto con QFILE.

    • Elementos gráficos del programa.

    • Bibliotecas de la aplicación.

      • Variable del tipo QString.

      • Variable QTextStream.

      • Clase QFile.

    • Código del Ejemplo-1 QFile para crear archivos.

  • Ejemplo-2. Crear un archivo «csv» con QFile.

    • Código del ejemplo-2.

Ejemplo-1. Crear un Archivo de texto con QFILE

Para crear un Archivo de texto, es decir, con extensión txt con QFile requerimos de un mino de bibliotecas y variables para el manejo de Strings. Por ejemplo, QT nos proporciona con dos tipos de variables para el manejo de cadenas de caracteres. La primera y más importante son los QString. También usaremos las variables QTextStream.

Elementos gráficos del programa.

Para este tutorial se creará un programa en QT (GUI) para crear un archivo. En esta aplicación se podrá cambiar tanto el nombre como el contenido de texto del archivo. Comenzaremos por crear un proyecto en QT. Para el ejemplo-1 de este tutorial se agregará al proyecto, en particular al archivo de diseño (*.ui) 5 elementos:

  • 2 etiquetas (Label) que se encuentran en «display widgets».
  • 1 LineEdit (Editor de Línea) que se encuentra en la sección «input widgets».
  • 1-pushButton (Botón momentaneo) que se encuentra en «buttons».
  • 1 plainTextEdit (Editor de texto plano) que esta en la categoria de «input widgets».

 

QFILE para Crear archivos en QT Creator Ejemplo1

Bibliotecas de la aplicación

Las bibliotecas que agregaremos al proyecto, en particular en el archivo mainWindow.cpp serán:

  1. #include <QFile> //Esta biblioteca nos permitirá usar a la clase QFile.
  2. #include <QTextStream>. //Esta biblioteca nos permitirá usar a la variable QTextStream.

Por default, no es necesario incluir ninguna biblioteca para el uso de las variables QString. Esto es porque la variable ya esta agregada en las bibliotecas básicas de QT, es decir en el «core» de QT Creator.

Variable del tipo QString

Las variables del tipo QString nos permiten guardar cadenas de caracteres, su sintaxis es:

  1. Forma:1   QString nombreVariable;
  2. Tipo-2:     QString nombreVariable = «Hola Mundo»;
  3. Forma-3: QString nombreVariable = QString::number(variableEntera);
  4. Tipo-4:     QString nombreVariable = OtraVariableString;

 

El primer ejemplo es elmodo estándar para declarar a una variable QString sin inicializar. El segundo ejemplo, es cuando se inicicializa a la variable. El tercer ejemplo es cuando queremos convertir un numero o int a una variable QString en QT. Finalmente el cuarto ejemplo, se refiere a que podemos asignar otras variables QString o incluso concatenar texto fijo con variables. Para este ejemplo, la variable QString se utilizará para «guardar» el contenido del «LineEdit». Para guardar el contenido se usará la siguiente instrucción:

  • QString nombreArchivo = ui->TextoNombre->text();

También utilizaremos a la variable QString para guardar el contenido del elemento QPlainTextEdit, de la siguiente manera:

  • QString contenidoArchivo = ui->TextoArchivo->toPlainText();

Variable QTextStream en QT

QTextStream es una clase que permite la lectura y escritura de texto con formato. Su sintaxis es simple:

  • QTextStream nombreVariable;

Clase QFILE para Crear archivos en QT

La clase QFile se utiliza tanto para crear como para leer archivos. Para este tutorial sólo se revisará la creación de archivos. La sintaxis para crear un archivo es la siguiente:

El código anterior permite crear un archivo de nombre «hola1.txt». La creación del archivo se realiza dentro de la apertura del archivo (archivo.open(«nombre»)); . Si el archivo no se puede crear, entonces no se le agregaran datos en forma de texto. Para agregar el texto se utiliza a la clase QTextStream. Entonces esta variable actua como un buffer intermendio entre el archivo y los datos que no se saben cuantos llegaran al archivo.

 

Código del Ejemplo-1 QFile para crear archivos

Para el código del ejemplo 1 , primero se creará la función para el evento asíncrono del clic en el botón. Es importante señalar que se han cambiado los nombres del LineEdit y del QPlainTextEdit. Como se puede observar en la siguiente imagen.

QFile crear archivos Ejemplo1 configuración

El segundo paso que tenemos que hacer es crear una función para el botón «crear». Para esto seleccionaremos con el clic derecho la opción «go to slot», y la función «clicked». En la siguiente imagen se muestra el proceso.

QFile crear archivos en QT Ejemplo1 y los primeros pasos
 

El código completo de la función esta a continuación:

 

Finalmente el resultado del ejemplo 1, será el siguiente:

QFile crear archivo en QT resultado del ejemplo-1

El proyecto completo se puede descargar en el siguiente enlace:  https://hetpro-store.com/TUTORIALES/EjemplosProgramas/QT-Crear-Archivo.zip

 

Ejemplo-2. Crear un archivo «csv» con QFile.

Para el segundo ejemplo, crear un archivo csv en QT con QFile. Se utilizará como plantilla el código del Ejemplo-1.  Los únicos cambios serán la extensión del archivo y la información que estaremos agregando esto desde la interfaz gráfica. La información del archivo estará separada por comas (,). Entonces, en realidad es el mismo código que el ejemplo-1, pero con una diferente ejecución de los parámetros de entrada en la GUI.

QFile crear archivo csv en QT

 

 

Autor: Dr. Rubén Estrada Marmolejo.

Escríbenos tus dudas o comentarios

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.