Programacion C++/Qt (problema QDialog)
Halo a todo el mundo.
Estoy realizando una aplicaci贸n en ECLIPSE con un plugin de QT. Hasta ahora la programaci贸n de la aplicaci贸n me ha resultado f谩cil, pero he llegado al punto que no se cual es problema.
Explico:
Tengo una aplicaci贸n que necesita de un teclado en pantalla por que luego se intentara instalar en una maquina con pantalla tactil.
la cuesti贸n es que cuando el usuario desee cambiar alg煤n dato, de vera salir un teclado en un cuadro de dialogo de una forma modal, para que no pueda moverse de pantalla hasta que termine con la pantalla. Soy capaz de realizar todo el entorno, programo los botones y el tratamiento de se帽ales y slots. Pruebo la aplicaci贸n y al querer cambiar alg煤n dato de la aplicaci贸n el teclado aparece y el focus se encuentra en este cuadro de dialogo pero al apretar cualquier bot贸n este no reacciona a ning煤n estimulo externo. No me da ning煤n tipo de error sint谩ctico. Una cosa muy rara, yo creo que cometo alg煤n error de concepto.
Agrego parte del c贸digo por si alguien me puede sacar de este agujero.
El c贸digo no es el explicado anteriormente(ser铆a demasiado extenso) es algo parecido en el QDialog aparecen dos botones don de se elige un si o un no, y me pasa lo mismo no reacciona.
aa.h ************************************************************ ******
class aa : public QWidget
{
Q_OBJECT
public:
aa(QWidget *parent = 0);
~aa();
protected slots:
void opt(void);
private:
Ui::aaClass ui;
Ui::ccClass nuevo;
};
//////////////////////////////////////////////////////////// ///////////////////////////////////////////////////
aa.cpp ************************************************************ *****
aa::aa(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.btnA,SIGNAL(clicked()),SLOT(opt()));
}
aa::~aa()
{
}
void aa::opt(void)
{
printf(" Boton opt");
QDialog *a=new QDialog();
nuevo.setupUi(a);
a->setModal(true);
a->show();
}/////////////////////////////////////////////////////////// /////////////////////////////////////////////
cc.h ************************************************************ ********
class cc : public QDialog
{
Q_OBJECT
public:
cc(QWidget *parent = 0);
~cc();
protected slots:
void SI(void);
void NO(void);
private:
Ui::ccClass ui;
};////////////////////////////////////////////////////////// ///////////////////////////////////
cc.cpp **********************************************************
cc::cc(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.btnB,SIGNAL(clicked()),this,SLOT(SI()));
connect(ui.btnE,SIGNAL(clicked()),this,SLOT(NO()));
}
cc::~cc()
{
}
void cc::SI(void)
{
printf(" SI");
printf(" SI");
ui.label->setText("Elegida la opcion SI");
}
void cc::NO(void)
{
printf(" NO");
printf(" NO");
ui.label->setText("Elegida la opcion NO");
}
//////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// ////////
Muchas gracias de antemano.
Estoy realizando una aplicaci贸n en ECLIPSE con un plugin de QT. Hasta ahora la programaci贸n de la aplicaci贸n me ha resultado f谩cil, pero he llegado al punto que no se cual es problema.
Explico:
Tengo una aplicaci贸n que necesita de un teclado en pantalla por que luego se intentara instalar en una maquina con pantalla tactil.
la cuesti贸n es que cuando el usuario desee cambiar alg煤n dato, de vera salir un teclado en un cuadro de dialogo de una forma modal, para que no pueda moverse de pantalla hasta que termine con la pantalla. Soy capaz de realizar todo el entorno, programo los botones y el tratamiento de se帽ales y slots. Pruebo la aplicaci贸n y al querer cambiar alg煤n dato de la aplicaci贸n el teclado aparece y el focus se encuentra en este cuadro de dialogo pero al apretar cualquier bot贸n este no reacciona a ning煤n estimulo externo. No me da ning煤n tipo de error sint谩ctico. Una cosa muy rara, yo creo que cometo alg煤n error de concepto.
Agrego parte del c贸digo por si alguien me puede sacar de este agujero.
El c贸digo no es el explicado anteriormente(ser铆a demasiado extenso) es algo parecido en el QDialog aparecen dos botones don de se elige un si o un no, y me pasa lo mismo no reacciona.
aa.h ************************************************************ ******
class aa : public QWidget
{
Q_OBJECT
public:
aa(QWidget *parent = 0);
~aa();
protected slots:
void opt(void);
private:
Ui::aaClass ui;
Ui::ccClass nuevo;
};
//////////////////////////////////////////////////////////// ///////////////////////////////////////////////////
aa.cpp ************************************************************ *****
aa::aa(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.btnA,SIGNAL(clicked()),SLOT(opt()));
}
aa::~aa()
{
}
void aa::opt(void)
{
printf(" Boton opt");
QDialog *a=new QDialog();
nuevo.setupUi(a);
a->setModal(true);
a->show();
}/////////////////////////////////////////////////////////// /////////////////////////////////////////////
cc.h ************************************************************ ********
class cc : public QDialog
{
Q_OBJECT
public:
cc(QWidget *parent = 0);
~cc();
protected slots:
void SI(void);
void NO(void);
private:
Ui::ccClass ui;
};////////////////////////////////////////////////////////// ///////////////////////////////////
cc.cpp **********************************************************
cc::cc(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.btnB,SIGNAL(clicked()),this,SLOT(SI()));
connect(ui.btnE,SIGNAL(clicked()),this,SLOT(NO()));
}
cc::~cc()
{
}
void cc::SI(void)
{
printf(" SI");
printf(" SI");
ui.label->setText("Elegida la opcion SI");
}
void cc::NO(void)
{
printf(" NO");
printf(" NO");
ui.label->setText("Elegida la opcion NO");
}
//////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// ////////
Muchas gracias de antemano.
