Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

QT Designer




Enviado por rolando_godoy



    1. Bases
      teóricas
    2. Resultados del
      proyecto
    3. Conclusiones y
      recomendaciones
    4. Bibliografía

    PARTE I

    INTRODUCCIÓN

    1. APLICACIÓN DE LA LIBRERÍA QT EN LA
      ELABORACIÓN DE UN DIRECTORIO
      TELEFÓNICO

    2. Tema

      La Universidad Tecnológica América, en función de su misión
      "Formar profesionales competentes, con pensamiento emprendedor, de amplia cultura
      científica, tecnológica y humanista, con
      capacidad de liderazgo
      y de crear sus propias empresas,
      sobre la base de un modelo
      educativo, caracterizado por procesos
      de investigación, producción y servicios
      que promuevan: inteligencia, creatividad, valores
      éticos y humanos.", conduce a través de
      elaboración y defensa de proyectos
      integradores, para resolver problemas
      científico-técnicos como vía de producir
      las experiencias de aprendizaje
      que garanticen las exigencias cognitivas que demandan
      la ciencia
      y la tecnología.

      Tomando en cuenta que en los actuales momentos la
      tendencia de las grandes empresas
      (NASA, IBM, XEROX) es el software con
      interfaces gráficos; incursionaremos en la
      librería Qt, con una aplicación
      transaccional.

      El presente Proyecto,
      engloba la síntesis y análisis de las fuentes de
      investigaciones, comenzando primeramente
      entendiendo que es Librería QT de Linux, para
      el buen entendimiento y desarrollo
      del tema.

      También, debemos agradecer a todos los
      tutores de las asignaturas de este nivel, en especial a la
      Ing. Rosita Paredes, por el apoyo incondicional que han
      demostrado ante la Elaboración de los Proyectos
      Integradores en todas las ciencias.

    3. Antecedentes del Proyecto
    4. Problema a resolver.
    • ¿Existen aplicaciones en nuestra universidad
      de la Librería Qt?

    Aplicar la librería Qt en elaboración
    de un Directorio Telefónico

    Al no conocer aplicaciones elaboradas por nuestra
    Universidad con la Librería QT en modo grafico (Qt
    Designer), realizaremos un directorio telefónico con
    dicha librería, contendrá ventanas, botones, y
    eventos del
    Lenguaje
    C++. Es decir será interactiva entre el usuario y el
    computador.

    1. Al no conocer el proceso de
      elaboración de una aplicación, utilizando la
      librería Qt, tenemos la necesidad de programarla;
      pasando por un proceso de
      investigación y aprendizaje
      de nuevos conceptos, técnicas y habilidades.

      La mayoría de personas conocemos, que en la
      actualidad, la Programación y la Computación en general, es una de las
      ciencias
      más importantes para el crecimiento de una empresa,
      puesto que necesita renovar su tecnología para tener una mejor
      perspectiva empresarial.

      En vista de que los estudiantes, no poseen
      conocimientos referentes a la Librería Qt, observamos
      la necesidad de brindar un estudio analítico del tema
      antes mencionado, para poder
      incrementar nuestro nivel intelectual y poder
      socializar los mismos, por medio de la ponencia del Proyecto
      Final y del resumen que entregaremos al final del
      mismo.

      En lo que se refiere a lo personal,
      esta investigación, se la está desarrollando,
      por cuanto se encuentra estrechamente relacionada con nuestra
      vida profesional, por cuanto en la actualidad, se utiliza
      mucho la Programación orientada a objetos en
      modo grafico, como es caso del Qt Designer.

      Teniendo en cuenta que la investigación, es
      una de las fuentes
      más trascendentales, para tener una mejor perspectiva
      profesional, puesto que en todos los campos sin
      excepción se la utiliza, por cuanto hay que
      actualizarse con la nueva tecnología que emana del
      estudio y análisis de las necesidades que se
      presentan.

    2. Justificación

      1. Emplear la Librería QT, por medio del
        estudio analítico, en un modelo
        pedagógico, de fácil entendimiento;
        fortaleciendo nuestras bases metodológicas,
        conceptuales y destrezas en la programación orientada a
        objetos.

      2. Objetivo General
      3. Objetivos
        Específicos
    3. Objetivos planteados
    1. Fortalecer la capacidad investigativa, indagando
      los conceptos básicos de la librería Qt, para
      poder utilizar botones, clases y demás eventos.
    2. Programar en Lenguaje C++,
      empleando la librería Qt, en una aplicación
      (Directorio Telefónico), de fácil entendimiento
      para la respectiva socialización.
    3. Socializar nuestra investigación con los
      compañeros de Nivel, por medio de la ponencia del
      Proyecto Final y del resumen entregado a cada uno, y de esta
      manera tener conocimientos homogéneos.
    1. Alcance

    Con el presente trabajo, nos comprometemos a investigar
    y conocer de manera práctica la aplicabilidad que tiene la
    Librería QT en la creación de un Directorio
    Telefónico.

    Entre los temas estudiados serán:

    1. Creación de interfaces gráficas, se realizará de QT
      Designer v. 3.1.1.
    2. Lenguaje de programación es C++.
    3. Sistema operativo a utilizarse es Linux v.
      9.0.

    El directorio telefónico tendrá las
    siguientes directrices:

    • Contendrá una ventana principal.
    • Se deberá ingresar datos como
      nombre, apellidos, dirección, número
      telefónico, entre otros.
    • Una vez ingresado los datos se debe
      ordenar e imprimir en pantalla.
    1. Metodología

    Los métodos
    investigamos que hemos utilizado se detallan a
    continuación:

    • Método deductivo, puesto que ejecutamos
      programas,
      previamente elaborados, para poder fijarnos en el proceso de
      elaboración y luego creamos nuevos programas, para
      poder compararlos y poder definir las falencias de los
      mismos.
    • Método analítico y crítico,
      puesto que analizamos y sintetizamos las fuentes
      bibliograficas, para poder sacar un extracto y poder adquirir
      conocimientos, con el objetivo de
      aplicarlos en un Directorio Telefónico.

    PARTE II

    BASES TEÓRICAS

    Librería QT

    Qt es un producto de
    la empresa
    noruega de software Trolltech AS, esta
    empresa se
    dedica a desarrollar librerías y herramientas
    de desarrollo de
    software, además es experta en servicios de
    consultoría. Qt son un conjunto de
    librerías multi-plataforma para el desarrollo del
    esqueleto de aplicaciones GUI, escritas en código
    C++. Qt además esta completamente orientado a
    objetos.

    Qt comenzó a distribuirse comercialmente en 1996
    y desde entonces ha sido la base para numerosas aplicaciones
    incluyendo la popular interfaz gráfica para Linux llamada
    KDE, disponible en todas las grandes distribuciones de
    Linux.

    En el mercado se pueden
    encontrar las siguientes distribuciones de Qt:

    • Qt Enterprise Edition y Qt Profesional
      Edition,
      disponibles para el desarrollo de software con
      fines comerciales. Incluye servicio de
      soporte técnico y están disponibles
      ampliaciones.
    • Qt Free Edition Es la versión para
      Unix/X11
      para el desarrollo de software gratuito y de código abierto. Se puede obtener gratis
      sujeto a los términos de la Q Public License and the GNU
      General Public License. Para plataformas Windows
      también esta disponible la versión Qt non
      comercial
      .
    • Qt Educational Edition es una versión
      de la Qt Profesional Edition con licencia únicamente
      para fines educacionales.
    • Qt/Embedded Free Edition.

    Características:

    • QT es una librería para la creación de
      interfaces gráficos. Se distribuye bajo una licencia
      libre GPL (o QPL) que nos permite incorporar las QT en nuestras
      aplicaciones open-source
    • Se encuentra disponible para una gran número
      de plataformas: Linux, MacOs X, Solaris, HP-UX, UNIX con X11.
      Además, existe también una versión para
      sistemas
      empotrados
    • Es orientado a objetos, lo que facilita el desarrollo
      de software. El lenguaje
      para el que se encuentra disponible es C++ aunque han aparecido
      bindings a otros lenguajes como Python o Perl
    • Es una librería que se basa en los conceptos
      de widgets (objetos), Señales-Slots y Eventos (ej: clic
      del ratón).
    • Las señales y los slots es el mecanismo para
      que unos widgets se comuniquen con otros.
    • Los widgets pueden contener cualquier número
      de hijos. El widget "top-level" puede ser cualquiera, sea
      ventana, botón, etc.
    • Algunos atributos como el texto de
      etiquetas, etc. … se modifican de modo similar al lenguaje
      html
    • QT proporciona además otras
      funcionalidades:
      • Librerías básicas ->
        Entrada/Salida, Manejo de Red,
        XML
      • Interface con bases de
        datos -> Oracle,
        MySQL,
        PostgreSQL, ODBC
      • Plugins, librerías dinámicas
        (Imágenes, formatos, …)
      • Unicode, Internacionalización

    Qt Designer

    Es una herramienta muy potente que permite
    diseñar de una forma muy sencilla y rápida ventanas
    de dialogo con las
    librerías Qt. Esta herramienta es una aplicación
    mediante la cual se puede realizar el diseño
    de aplicaciones GUI de forma gráfica y muy
    intuitiva.

    Características:

    • Para crear una interfaz con QT Designer basta con
      seleccionar el menú Archivo ->
      Nuevo… y allí se elige un fichero de QT
      Designer (*.ui)

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    • Las plantillas que se puede escoger son:
      • Dialog: Es la plantilla más simple, crea
        una ventana que incluye únicamente los botones de
        minimizar, maximizar y cerrar. De esta derivan el resto de
        plantillas.
      • Wizard: Permite realizar aplicaciones paginadas,
        además de esto incluye los botones de cancelar,
        anterior (back), siguiente (next) o finalizar
        (finish).
      • Dialog with buttons: Igualmente deriva de la
        primera e incluye lo botones de ayuda ,apply ,ok y
        cancel.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    • Disponemos de una paleta de widgets muy completa, que
      incluyen los widgets más comunes de las liberías
      QT. Si además hemos instalado las librerías para
      el desarrollo de aplicaciones KDE, tendremos widwets
      adicionales.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    • El funcionamiento es de estilo Selecciona y
      dibuja
      , es decir, basta con seleccionar un tipo de widget
      en la paleta y luego al ponernos sobre el formulario se dibuja
      con la geometría que queramos.
    • Las propiedades de un widget cualquiera se pueden
      cambiar fácilmente en tiempo de
      diseño con el panel de
      propiedades.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    • A medida que guardamos los cambios de la interfaz, si
      editamos el fichero .ui vemos que va cambiando el contenido. La
      descripción de la interfaz se guarda en
      ese fichero en formato xml.
    • Para hacer que nuestra ventana sea la ventana
      principal de la aplicación basta con hacer que el widget
      que nos generó como ventana principal herede del nuevo
      que hemos creado con el QT Designer.

    Se pueden añadir los siguientes
    objetos:

    • Botones: Se pueden añadir diversas
      clases de botones. Los que se pueden encontrar son pushbutton,
      toolbutton, radiobutton o check button, estos difieren en su
      forma pero básicamente pueden realizar las mismas
      funciones.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ejemplos de Botones

    • Containers: Se pueden definir como
      contenedores que se pueden etiquetar con un titulo y pueden
      contener texto,
      imágenes
      incluso otros objetos tales como botones. Igualmente existen
      varios tipos Groupbox, Buttongroup, Frame, etc.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

     

    Ejemplos de containers

    • Inputs: Este apartado incluye LineEdit
      (líneas de edición) pueden servir para recoger
      datos que se introducen por teclado,
      MultiLineEdit (similar), combobox (listas desplegables) y otros
      como slider, spinbox o dial.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ejemplos de Inputs

    • Displays: En este apartado se incluyen
      textlabel (etiquetas de texto), pixmapLabel (imágenes),
      progressbar (barras de progreso) además de LCDnumber,
      Line etc.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ejemplos de Displays

    • Views: Son objetos que pueden albergar iconos,
      también en este apartado se incluyen las
      tablas.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ejemplo de views

    Todos estos se encuentran en el menú Tools aunque
    también se puede encontrarlos en las barras de herramientas
    con sus respectivos iconos.

    Se pueden realizar señales, conocidas como
    Slots y Signal:

    • Slots y Signal.- Los slots y signals
      (señales) son un mecanismo de comunicación entre objetos, esta es la
      principal característica de Qt y es el rasgo que
      hace distintas las librerías Qt del resto de
      herramientas para la elaboración de GUI, es un mecanismo
      de comunicación seguro,
      flexible y totalmente orientado a objetos y por supuesto
      implementado en C++.

    En la programación con GUI se busca que los
    cambios producidos en un objeto sean comunicados a otros
    objetos, por ejemplo cuando hacemos click en un botón
    para que se cierre una ventana, lo que se hace es posibilitar
    la
    comunicación entre los dos objetos. Otras
    herramientas de diseño de GUI llevan a cabo la
    comunicación entre objetos usando los llamados
    callbacks. Un callback es un puntero a una función,
    con este mecanismo si se quiere procesar una determinada
    función cada vez que ocurre un evento en un objeto, lo
    que se hace es pasar un puntero a otra función (el
    callback) a la función deseada y será esta la que
    se encargue de llamar al callback en el momento apropiado. Este
    tipo de comunicación tiene el inconveniente de no ser
    totalmente seguro puesto
    que no se sabe si se llamará al callback con los
    argumentos apropiados y además la función que
    llama al callback debe saber exactamente a que callback llamar,
    además es un sistema
    inflexible y no esta orientado a objetos.

    Se puede crear los archivos *.h y
    los *.cpp:

    • La aplicación uic permite implementar
      la clase del modelo realizado con Qt Designer a partir del
      archivo .ui,
      es decir obtener los archivos .cpp y
      .h para ello utiliza la siguiente instrucción en la
      consola.

    Para obtener el archivo de
    cabecera (.h):

    uic -o <ejemploqt.h>
    <ejemploqt.ui>

    Para obtener el archivo de implementación
    (.cpp):

    uic -o <ejemploqt.cpp> -impl <ejemploqt.h>
    <ejemploqt.ui>

    • Con esto ya están los archivos implementados,
      es decir la clase de la ventana creada ya esta definida (el
      nombre que habíamos elegido es Wizard), pero aun falta
      algo. La herramienta moc (meta object compiler) sirve
      para obtener archivos de extensión .cpp que se encargan
      de implementar el mecanismo de slots/signals.

    moc -o <moc_ejemploqt.cpp>
    <ejemploqt.h>

    Ejemplo:

    Programa "Hola mundo"

    Se trata del tradicional Hola mundo.

    1. Creamos una ventana y la llamamos holamundo.

      Para ver el gráfico
      seleccione la opción "Descargar" del menú
      superior

      A partir de aquí podríamos proceder
      de dos formas diferentes: Diseñar la interfaz desde
      el código o usar QT Designer. Seguiremos este
      último camino

    2. Si compilamos el proyecto nada más ser
      generado, deberíamos obtener una aplicación
      con una ventana en blanco.

      Para ver el gráfico
      seleccione la opción "Descargar" del menú
      superior

      En el menú Preview del QT Designer
      podemos ver como quedaría nuestro formulario con
      distintos aspectos según el tema de KDE
      seleccionado. Aún tendríamos un problema
      antes de dejar concluida la interfaz. Si nos damos cuenta,
      en el preview, al maximizar, no queda bien la
      disposición de nuestro hola mundo. Podemos hacer dos
      cosas: Impedir que se pueda maximizar (sería lo mas
      lógico en esta aplicación) o bien hacer que
      se redimensione todo. Vamos a hacer esto último para
      ilustrar el uso del los layouts.

    3. Dentro del QT Designer elegimos diseñar un
      diálogo, lo que hará que se
      nos presente un formulario vacío. Añadiremos
      una etiqueta (QLabel) y un botón (QPushButton). En
      el panel de propiedades cambiaremos el texto de la etiqueta
      a una cadena vacía y el caption del botón a
      la cadena "Haga click aquí".

      Para ver el gráfico
      seleccione la opción "Descargar"
      Ya
      sólo nos queda añadir las señales y
      los slots. Éste es el mecanismo que tiene QT para
      hacer que un widget se comunique con otro al capturarse
      eventos de usuario.

    4. Añadimos unos widgets que se llaman
      espaciadores (spacers) a ambos lados de la etiqueta y el
      botón. En el formulario aparecerán como una
      especie de muelles. A continuación seleccionamos los
      dos espaciadores y la etiqueta y pulsamos el botón
      derecho del ratón. En el menú que sale
      seleccionamos layout horizontal.
      Hacemos lo mismo con el botón.
      Al final seleccionamos todo y elegimos en el menú
      layout en rejilla (grid).
      El resultado es como el siguiente:

      Para ver el gráfico
      seleccione la opción "Descargar" del menú
      superior

    5. Con el botón derecho del ratón sobre el
      formulario, seleccionamos en el menú conexiones
      (connections…). Creamos una nueva conexión para el
      botón. Como señal escogemos
      clicked() que se dispara cuando el usuario
      haga click en el botón. El siguiente paso
      será editar el un nuevo slot.

      Para ver el gráfico
      seleccione la opción "Descargar" del menú
      superior

    6. Damos a editar slots… y creamos uno nuevo llamado
      diHola(). Se lo asignamos al Form1 y con eso ya
      estaría

      #include

      #include

      #include

      #include

      #include "interfaz.h"

      /** HolaMundo is the base class of the project
      */

      class HolaMundo : public Form1

      {

      Q_OBJECT

      public:

      /** construtor */

      HolaMundo(QWidget* parent=0, const char
      *name=0);

      /** destructor */

      ~HolaMundo();

      public slots:

      void diHola();

      };

      #endif

    7. Sólo nos queda derivar nuestra ventana
      inicial HolaMundo de Form1, para que herede de ella. En el
      fichero holamundo.h habrá que poner:
    8. En el holamundo.cpp ponemos lo
      siguiente:

    #include "holamundo.h"

    HolaMundo::HolaMundo(QWidget *parent, const char
    *name) : Form1(parent, name)

    {

    }

    HolaMundo::~HolaMundo()

    {

    }

    void HolaMundo::diHola()

    {

    this->etiqueta->setText("Hola
    mundo!");

    }

    y con esto finalizaría nuestro ejemplo

    PARTE III

    RESULTADOS DEL PROYECTO

    Se presentarán los
    resultado en Modo Grafico y en Lenguaje
    C++

    MODO GRAFICO

    Ventanas del Directorio
    Telefónico

    Como resultado del Proyecto, presentamos nuestro
    programa, que
    es un Directorio Telefónico, elaborado bajo Qt Designer y
    modificado en los archivos *.cpp y *.h, realizando en estos, las
    llamadas o señales.

    Este directorio posee una ventana de
    inicio:

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Inicio (Principal)

    La ventana de inicio o principal, puede ingresar al
    Directorio, Números Telefónicos, Ayuda, Acerca de y
    salir.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana del Directorio
    Telefónico

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana del Acerca de

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana del Ayuda

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana del Números
    Telefónicos

    Al mismo tiempo las
    anteriores ventanas, pueden llamar a otras, como se indica a
    continuación:

    • La ventana de Directorio Telefónico,
      puede borrar los datos ingresados, tener una vista preliminar
      (en una nueva ventana) y salir. Esta última puede
      modificar los datos y salir de la
      aplicación.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Vista Preliminar del
    Directorio Telefónico 

    • La ventana de Números
      Telefónicos,
      puede escoger el usuario, un
      submenú que contiene los botones de: Servicios,
      Hospitales, Emergencias y Policía como se muestra a
      continuación y regresar al submenú y a la ventana
      principal, dentro de cualquier de estás ventanas podemos
      salir de la aplicación.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Números
    Telefónicos de Servicios

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Números
    Telefónicos de Hospitales

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Números
    Telefónicos de Emergencia

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Ventana de Números
    Telefónicos de Policía

    LENGUAJE C++

    //Programa del
    Directorio Telefónico *.moc_cpp

    /***********************************************************************

    ** UNIVERSIDAD TECNOLÓGICA
    AMÉRICA

    ** FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Y ELECTRÓNICA

    ** MODALIDAD SEMI-PRESENCIAL

    ** TERCER NIVEL INFORMATICA "A"

    **

    ** PROYECTO INTEGRADOR

    **

    ** TEMA: APLICACIÓN DE LA LIBRERIA QT EN
    UN

    ** DIRECTORIO TELEFÓNICO

    ** INTEGRANTES: CRISTHIAN CASTILLO

    ** ROLANDO GODOY

    ** TUTORA: ING. ROSITA PAREDES

    *********************************************************************/

    #undef QT_NO_COMPAT

    #include "prointeg.h"

    #include <qmetaobject.h>

    #include <qapplication.h>

    #include <private/qucomextra_p.h>

    #if !defined(Q_MOC_OUTPUT_REVISION) ||
    (Q_MOC_OUTPUT_REVISION != 26)

    #error "This file was generated using the moc from
    3.1.1. It"

    #error "cannot be used with the include files from this
    version of Qt."

    #error "(The moc has changed too much.)"

    #endif

    const char *Form1::className() const

    {

    return "Form1";

    }

    QMetaObject *Form1::metaObj = 0;

    static QMetaObjectCleanUp cleanUp_Form1( "Form1",
    &Form1::staticMetaObject );

    #ifndef QT_NO_TRANSLATION

    QString Form1::tr( const char *s, const char *c
    )

    {

    if ( qApp )

    return qApp->translate( "Form1", s, c,
    QApplication::DefaultCodec );

    else

    return QString::fromLatin1( s );

    }

    #ifndef QT_NO_TRANSLATION_UTF8

    QString Form1::trUtf8( const char *s, const char *c
    )

    {

    if ( qApp )

    return qApp->translate( "Form1", s, c,
    QApplication::UnicodeUTF8 );

    else

    return QString::fromUtf8( s );

    }

    #endif // QT_NO_TRANSLATION_UTF8

    #endif // QT_NO_TRANSLATION

    QMetaObject* Form1::staticMetaObject()

    {

    if ( metaObj )

    return metaObj;

    QMetaObject* parentObject =
    QWizard::staticMetaObject();

    static const QUMethod slot_0 = {"languageChange", 0, 0
    };

    static const QMetaData slot_tbl[] = {

    { "languageChange()", &slot_0, QMetaData::Protected
    }

    };

    metaObj = QMetaObject::new_metaobject(

    "Form1", parentObject,

    slot_tbl, 1,

    0, 0,

    #ifndef QT_NO_PROPERTIES

    0, 0,

    0, 0,

    #endif // QT_NO_PROPERTIES

    0, 0 );

    cleanUp_Form1.setMetaObject( metaObj );

    return metaObj;

    }

    void* Form1::qt_cast( const char* clname )

    {

    if ( !qstrcmp( clname, "Form1" ) )

    return this;

    return QWizard::qt_cast( clname );

    }

    bool Form1::qt_invoke( int _id, QUObject* _o
    )

    {

    switch ( _id – staticMetaObject()->slotOffset() )
    {

    case 0: languageChange(); break;

    default:

    return QWizard::qt_invoke( _id, _o );

    }

    return TRUE;

    }

    bool Form1::qt_emit( int _id, QUObject* _o )

    {

    return QWizard::qt_emit(_id,_o);

    }

    #ifndef QT_NO_PROPERTIES

    bool Form1::qt_property( int id, int f, QVariant*
    v)

    {

    return QWizard::qt_property( id, f, v);

    }

    bool Form1::qt_static_property( QObject* , int , int ,
    QVariant* ){ return FALSE; }

    #endif // QT_NO_PROPERTIES

    //Programa del Directorio Telefónico
    *.cpp

    /***********************************************************************

    ** UNIVERSIDAD TECNOLÓGICA
    AMÉRICA

    ** FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Y
    ELECTRÓNICA

    ** MODALIDAD SEMI-PRESENCIAL

    ** TERCER NIVEL INFORMATICA "A"

    **

    ** PROYECTO INTEGRADOR

    **

    ** TEMA: APLICACIÓN DE LA LIBRERIA QT EN
    UN

    ** DIRECTORIO TELEFÓNICO

    ** INTEGRANTES: CRISTHIAN CASTILLO

    ** ROLANDO GODOY

    ** TUTORA: ING. ROSITA PAREDES

    **********************************************

    #ifndef FORM1_H

    #define FORM1_H

    #include <qvariant.h>

    #include <qpixmap.h>

    #include <qwizard.h>

    class QVBoxLayout;

    class QHBoxLayout;

    class QGridLayout;

    class QComboBox;

    class QLabel;

    class QLineEdit;

    class QPushButton;

    class QTextBrowser;

    class QWidget;

    class Form1 : public QWizard

    {

    Q_OBJECT

    public:

    Form1( QWidget* parent = 0, const char* name = 0, bool
    modal = FALSE, WFlags fl = 0 );

    ~Form1();

    QWidget* page;

    QLabel* pixmapLabel1;

    QPushButton* pushButton2;

    QPushButton* pushButton3;

    QPushButton* pushButton1;

    QPushButton* pushButton3_2;

    QPushButton* pushButton22_5_2_2;

    QWidget* page_2;

    QLabel* pixmapLabel1_2;

    QLabel* pixmapLabel1_2_2;

    QLabel* pixmapLabel1_2_3;

    QLabel* pixmapLabel1_2_3_2;

    QPushButton* pushButton17;

    QPushButton* pushButton17_2;

    QPushButton* pushButton17_3;

    QPushButton* pushButton17_4;

    QPushButton* pushButton33;

    QWidget* page_3;

    QLabel* textLabel1_3;

    QLabel* pixmapLabel1_2_4;

    QLabel* textLabel1_2_2;

    QPushButton* pushButton33_3;

    QPushButton* pushButton22_4;

    QWidget* page_4;

    QLabel* textLabel1_4;

    QLabel* textLabel1_2_3;

    QLabel* pixmapLabel1_2_2_2;

    QPushButton* pushButton33_3_2;

    QPushButton* pushButton22_3;

    QWidget* page_5;

    QLabel* textLabel1_4_2;

    QLabel* textLabel1_2_3_2;

    QLabel* pixmapLabel1_2_3_2_2;

    QPushButton* pushButton33_3_3;

    QPushButton* pushButton22_2;

    QWidget* page_6;

    QLabel* pixmapLabel1_2_3_3;

    QLabel* textLabel1;

    QLabel* textLabel1_2;

    QPushButton* pushButton33_3_4;

    QPushButton* pushButton22;

    QWidget* page_7;

    QLabel* textLabel1_2_2_2_2;

    QLabel* pixmapLabel2;

    QLabel* textLabel1_2_2_2_2_2;

    QLabel* textLabel1_2_2_2;

    QLabel* textLabel1_2_2_2_2_3;

    QLabel* textLabel1_5;

    QLabel* textLabel1_2_4;

    QPushButton* pushButton33_2;

    QLineEdit* lineEdit1_2;

    QLineEdit* lineEdit1_3;

    QLineEdit* lineEdit1_4;

    QLineEdit* lineEdit1_5;

    QComboBox* comboBox1;

    QLineEdit* lineEdit1;

    QComboBox* comboBox1_2;

    QPushButton* pushButton5;

    QPushButton* pushButton5_2;

    QWidget* page_8;

    QLabel* textLabel1_2_2_3;

    QLabel* textLabel1_3_2_3;

    QLabel* textLabel1_3_3;

    QLabel* textLabel1_3_2_4;

    QLabel* textLabel1_2_3_3;

    QLabel* textLabel1_3_2_6;

    QLabel* textLabel1_2_2_2_3;

    QLabel* textLabel1_3_2_2;

    QLabel* textLabel1_2_2_2_2_3_2;

    QLabel* textLabel1_2_2_2_2_2_2;

    QLabel* textLabel1_3_2_5;

    QLabel* pixmapLabel2_2;

    QLabel* textLabel1_3_2_7;

    QPushButton* pushButton33_2_2;

    QLabel* textLabel1_3_2;

    QPushButton* pushButton5_3;

    QPushButton* pushButton5_3_2;

    QWidget* page_9;

    QLabel* textLabel2_2;

    QLabel* pixmapLabel1_3;

    QTextBrowser* textBrowser1;

    QLabel* textLabel2_2_2;

    QLabel* textLabel2_2_2_2;

    QPushButton* pushButton33_2_3_2;

    QPushButton* pushButton22_5_2;

    QWidget* page_10;

    QLabel* pixmapLabel1_4;

    QLabel* pixmapLabel1_4_3_3;

    QLabel* pixmapLabel1_4_3;

    QLabel* pixmapLabel1_4_3_2;

    QPushButton* pushButton33_2_3;

    QPushButton* pushButton22_5;

    QTextBrowser* textBrowser1_2_2_2;

    QTextBrowser* textBrowser1_2_2;

    QTextBrowser* textBrowser1_2;

    protected:

    protected slots:

    virtual void languageChange();

    private:

    QPixmap image0;

    QPixmap image1;

    QPixmap image2;

    QPixmap image3;

    QPixmap image4;

    QPixmap image5;

    QPixmap image6;

    QPixmap image7;

    };

    #endif // FORM1_H

    //Programa del Directorio Telefónico
    *.h

    /***********************************************************************

    ** UNIVERSIDAD TECNOLÓGICA
    AMÉRICA

    ** FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Y
    ELECTRÓNICA

    ** MODALIDAD SEMI-PRESENCIAL

    ** TERCER NIVEL INFORMATICA "A"

    **

    ** PROYECTO INTEGRADOR

    **

    ** TEMA: APLICACIÓN DE LA LIBRERIA QT EN
    UN

    ** DIRECTORIO TELEFÓNICO

    ** INTEGRANTES: CRISTHIAN CASTILLO

    ** ROLANDO GODOY

    ** TUTORA: ING. ROSITA PAREDES

    *********************************************************************/

    #ifndef FORM1_H

    #define FORM1_H

    #include <qvariant.h>

    #include <qpixmap.h>

    #include <qwizard.h>

    class QVBoxLayout;

    class QHBoxLayout;

    class QGridLayout;

    class QComboBox;

    class QLabel;

    class QLineEdit;

    class QPushButton;

    class QWidget;

    class Form1 : public QWizard

    {

    Q_OBJECT

    public:

    Form1( QWidget* parent = 0, const char* name = 0, bool
    modal = FALSE, WFlags fl = 0 );

    ~Form1();

    QWidget* page;

    QPushButton* pushButton3_2;

    QPushButton* pushButton3;

    QPushButton* pushButton2;

    QLabel* pixmapLabel1;

    QPushButton* pushButton1;

    QWidget* page_2;

    QPushButton* pushButton5_2;

    QLabel* textLabel1;

    QLabel* textLabel1_2;

    QLabel* textLabel1_2_2;

    QLabel* textLabel1_2_2_2;

    QLabel* textLabel1_2_2_2_2;

    QLabel* textLabel1_2_2_2_2_2;

    QPushButton* pushButton5;

    QLabel* pixmapLabel2;

    QComboBox* comboBox1;

    QLineEdit* lineEdit1;

    QLineEdit* lineEdit1_2;

    QComboBox* comboBox1_2;

    QLineEdit* lineEdit1_3;

    QLineEdit* lineEdit1_4;

    QLineEdit* lineEdit1_5;

    QWidget* page_3;

    QLabel* textLabel1_2_2_3;

    QLabel* pixmapLabel2_2;

    QPushButton* pushButton5_3_2;

    QPushButton* pushButton5_3;

    QLabel* textLabel1_2_3;

    QLabel* textLabel1_2_2_2_2_2_2;

    QLabel* textLabel1_3;

    QLabel* textLabel1_3_2;

    QLabel* textLabel1_3_2_2;

    QLabel* textLabel1_3_2_3;

    QLabel* textLabel1_2_2_2_2_3;

    QLabel* textLabel1_2_2_2_3;

    QLabel* textLabel1_3_2_5;

    QLabel* textLabel1_3_2_6;

    QLabel* textLabel1_3_2_7;

    QLabel* textLabel1_3_2_4;

    protected:

    protected slots:

    virtual void languageChange();

    private:

    QPixmap image0;

    };

    #endif // FORM1_H

    CONCLUSIONES

    Y RECOMENDACIONES

    Conclusiones

    • En Qt Designer, se facilitó las aplicaciones
      con la Librería Qt, es por eso que el modo
      gráfico existe mejor comprensión que en las
      líneas de código en C++, siendo más
      factible la implementación de señales entre los
      botones, ya que se pueden conectar tantos signals como se desee
      a un slots, y una signal puede ser conectado a tantos slots
      como se quiera, incluso se puede conectar un signals a otro
      signals.
    • Todas las clases que derivan de la clase Qobject o de
      algunas de sus subclases (por ejemplo Qwidget como es el caso
      de nuestra ventana) pueden ser conectados por medio del
      mecanismo de slots y signals.
    • Qt Designer, desarrolló nuestro potencial
      creativo en el momento al formar la estructura
      de nuestro Directorio Telefónico.

    Recomendaciones

    • Que la documentación entregada de QT Designer,
      se tome en cuenta como documento base para futuros
      Proyectos.
    • Que en el momento de elaborar una aplicación
      en Qt Designer, se utilice la ventana QWizard, por cuanto
      permite agregar forms, sin mayor complejidad.
    • Con los pushbuttons es recomendable utilizar los
      signals de click y no los de enter, por cuanto, al usuario
      prefiere manipular el mouse, antes
      que el teclado.
    • Que se actualice constantemente los Equipos de
      Computación con las nuevas versiones de los Sistemas
      Operativos, por cuanto en este tema, no tuvimos la
      facilidad de contar con un Equipo Computacional, que contengan
      la versión de QT Designer.
    • Para próximas investigaciones, se realice la
      presentación del primer borrador, con todos los tutores
      para que puedan examinar el documento fuente y el
      desenvolvimiento del grupo.

    BIBLIOGRAFÍA

    Entrevista:

    • Con la tutora de la asignatura Programación
      II – Ing. Rosita Paredes.

    Navegación en Internet:

    Fuentes bibliográficas, básicamente
    hemos utiliza el medio del Internet, por
    cuanto no existen libros ni
    folletos de la Librería Qt, puesto que es una nueva
    librería que no se contempla en libros
    actualizados.

     

     

     

    Autor:

    Rolando Godoy Lara

    Cristhian Castillo Martínez

    ESTUDIANTES DE LA FACULTAD DE CIENCIAS DE LA
    COMPUTACIÓN Y ELECTRÓNICA DE LA UNIVERSIDAD
    TECNOLÓGICA AMÉRICA
    DE LA CIUDAD DE QUITO * ECUADOR

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter