
Problema con asignacion y lectura de variables
Publicado por Janjio (3 intervenciones) el 16/03/2017 19:16:30
Hola, estoy empezando con Qt Creator 4.2.0 y en mi primer programa tengo un problema que no alcanzo a entender. Asi que de nuevo solicito vuestra ayuda,
El código de mi MainWindow.cpp es el siguiente:
Por medio de Slot-Señal al pulsar el toolbutton BT_Marcha voy a la función marcha()
El problema es que la variable estado_marcha siempre vale 0, Incluso forzando su valor a 1 al inicio de la función. En principio la declaré como boolean con el mismo resultado.
¿Por que no cambia de valor? Haga lo que haga, al hacer click en el boton siempre se va al if(estado_marcha == o)
Donde estoy equivocándome?
Muchas gracias
El código de mi MainWindow.cpp es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "frmtiempos1.h"
int MainWindow::estado_marcha = 0;// Inicializo la varialble con valor 0=False (Declarada de MainWindow.h)
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::abrirFormTiempos(){
FrmTiempos1 *frmtiempos1=new FrmTiempos1();
frmtiempos1->show();
}
void MainWindow::marcha(){
estado_marcha = 1;
if (estado_marcha == 1){
ui->label1->setText("Cambio MARCHA a 0");
ui->BT_Marcha->setIcon(QIcon(":/img/play_off_100x100.png")); //Cambio icono a rojo
estado_marcha = 0;//Pongo en PARO
}
if (estado_marcha == 0){
ui->label1->setText("Cambio MARCHA a 1");
ui->BT_Marcha->setIcon(QIcon(":/img/play_on_100x100.png")); //Cambio icono a verde
estado_marcha = 1;//Pongo en MARCHA
}
}
Por medio de Slot-Señal al pulsar el toolbutton BT_Marcha voy a la función marcha()
El problema es que la variable estado_marcha siempre vale 0, Incluso forzando su valor a 1 al inicio de la función. En principio la declaré como boolean con el mismo resultado.
¿Por que no cambia de valor? Haga lo que haga, al hacer click en el boton siempre se va al if(estado_marcha == o)
Donde estoy equivocándome?
Muchas gracias
Valora esta pregunta


0