elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  QT Creator C++, importar valor de lineEdit a funcion en una nueva clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: QT Creator C++, importar valor de lineEdit a funcion en una nueva clase  (Leído 2,484 veces)
aurquiel

Desconectado Desconectado

Mensajes: 32



Ver Perfil
QT Creator C++, importar valor de lineEdit a funcion en una nueva clase
« en: 18 Noviembre 2016, 20:51 pm »

Hola podría alguien ayudarme a hacer esto, imporar el valor de un lineEdit a una función en una nueva clase.

He creado una nueva clase con la ayuda de QT Creator llamada Ag y me añdio los archivos .h .cpp

ag.h
Código:
#ifndef AG_H
#define AG_H

#include <QMainWindow>
#include <QObject>
#include <QSharedDataPointer>
#include <QWidget>

class AGData;

class AG
{
public:
    AG();
    AG(const AG &);
    AG &operator=(const AG &);
    ~AG();
void genetic::fitness()

private:
    QSharedDataPointer<AGData> data;

};

#endif // AG_H

ag.cpp
Código:
#include "ag.h"

class AGData : public QSharedData
{
public:

};

AG::AG() : data(new AGData)
{

}

AG::AG(const AG &rhs) : data(rhs.data)
{

}

AG &AG::operator=(const AG &rhs)
{
    if (this != &rhs)
        data.operator=(rhs.data);
    return *this;
}

AG::~AG()
{

}

Ahora añado una función llamada fitness a la clase y unas variables privadas matrix2,i.

En la función fitness hay una variable a esa variable a sería tomada del lineEdit

ag.h
Código:
#ifndef AG_H
#define AG_H

#include <QMainWindow>
#include <QObject>
#include <QSharedDataPointer>
#include <QWidget>

class AGData;

class AG
{
public:
    AG();
    AG(const AG &);
    AG &operator=(const AG &);
    ~AG();
     void fitness();

private:
    QSharedDataPointer<AGData> data;
    unsigned long int i;
    double matrix2[100][3];

};

#endif // AG_H

ag.cpp
Código:
#include "ag.h"

class AGData : public QSharedData
{
public:

};

AG::AG() : data(new AGData)
{

}

AG::AG(const AG &rhs) : data(rhs.data)
{

}

AG &AG::operator=(const AG &rhs)
{
    if (this != &rhs)
        data.operator=(rhs.data);
    return *this;
}

AG::~AG()
{

}

void AG::fitness(){
    for (i=0;i<100;i++){
        matrix[i][1]=a*100;
    }

}

Tengo dudas de como introducir ese valor en mi clase no se como usar un apuntador a esa varible, ademas no se si tengo que darle datos de entrada a la funcion como void fitness(double a);

De verdad le he estado dando vueltas y revisado por Internet pero no encuentro como.


« Última modificación: 18 Noviembre 2016, 20:58 pm por aurquiel » En línea

Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Re: QT Creator C++, importar valor de lineEdit a funcion en una nueva clase
« Respuesta #1 en: 18 Noviembre 2016, 23:14 pm »

Hola

Qt es C++, por tanto tienes que hacer como en cualquier programa escrito en C++.

Si quieres pasar el valor de un QLineEdit que está en una clase, a un método de otra clase, se lo tendrás que pasar como parámetro en la función cuando la llamas.

Si ese valor no va a cambiar y ya está disponible cuando creas la instancia de la segunda clase, también puedes pasárselo en el constructor de la clase, guardarlo en una variable y desde ahí podrá usarlo el método en cuestión.

Un saludo


En línea

Buenas preguntas obtienen mejores respuestas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines