QT - Problemas con Qdialog

 
Vista:

Problemas con Qdialog

Publicado por Galdera (1 intervención) el 02/02/2009 15:23:26
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.

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder