No me ejecuta la aplicación
-
Re: Compilador
yo tengo el siguiente problema, tengo windows 10, tengo todo el código ok, y al dar doble click en mi .exe no pasa nada, sera por el windows? mi versión de Qt es la 5.5
-
Hola @Charlie_1908
Lee detenidamente tu mensaje:
yo tengo el siguiente problema, tengo windows 10, tengo todo el código ok, y al dar doble click en mi .exe no pasa nada, sera por el windows? mi versión de Qt es la 5.5
Imagina que tu entras a este foro tratando de ver si puedes ayudar un poco, lees tu mensaje. ¿Realmente piensas que podrías ayudarle? Pues lo mismo nos ocurre a nosotros.
Con la información que das es absolutamente imposible ayudarte. Trata de ayudarnos un poco, da un poco de información.
¿Es un programa de consola o tiene interfaz gráfica? ¿Has tratado de ejecutarlo desde la línea de comandos para ver si muestra algún mensaje de error? Un poco de código no vendría mal, sobre todo el método main, para ver que hace...
En fin, un poco de ayuda....
Un saludo
-
jejeje, cierto, la aplicación es sencilla es un botón que al pulsarlo envía el nombre ingresado al otro .ui, nada más, ahora pongo el código
-
debo decir que no da problemas al compilar, sólo al darle click en el .exe
me dice esto al correrlo
Starting C:\Users\Carlos Fernández\Documents\build-Test-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\Test.exe...
The program has unexpectedly finished.
C:\Users\Carlos Fernández\Documents\build-Test-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\Test.exe crashed -
en el dialog. cpp
#include "dialog.h"
#include "ui_dialog.h"Dialog::Dialog(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
}Dialog::~Dialog()
{
delete ui;
}void Dialog::on_pushButton_clicked()
{
close ();
}void Dialog::recibir(QString n)
{
ui->lineEdit->setText(n);
} -
en el mainwindows cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
conectar();
}MainWindow::~MainWindow()
{
delete ui;
}void MainWindow::on_pushButton_clicked()
{
QString name = ui->lineEdit->text();
emit enviar(name);
}void MainWindow::conectar()
{
connect(this,SIGNAL(enviar(QString)),ventana,SLOT(recibir(QString)));
} -
Al presionar debugging sale esto
The inferior stopped because it received a signal from de operating system
Signal name: SIGSEGV
Signal meaning: Segmentation fault -
Hola @Charlie_1908
connect(this,SIGNAL(enviar(QString)),ventana,SLOT(recibir(QString)));
¿Qué es ventana? Supongo que un puntero a la segundada ventana, valga la redundancia XD
Pero no veo que le des valor por ninguna parte, tienes que crear una instancia del segundo diálogo para poder usarlo,
Un saludo
-
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include "dialog.h"namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{
Q_OBJECTpublic:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();signals:
void enviar(QString);private slots:
void on_pushButton_clicked();private:
Ui::MainWindow *ui;
Dialog *ventana;
void conectar();};
#endif // MAINWINDOW_H
ya lo tengo puesto
dialog.h es este
#ifndef DIALOG_H
#define DIALOG_H#include <QMainWindow>
namespace Ui {
class Dialog;
}class Dialog : public QMainWindow
{
Q_OBJECTpublic:
explicit Dialog(QWidget *parent = 0);
~Dialog();private slots:
void on_pushButton_clicked();
void recibir(QString);private:
Ui::Dialog *ui;
};#endif // DIALOG_H