class Widget : public QWidget{... QTimer t1;//создание глобальной переменной
QObject::connect(ui->timeEdit, SIGNAL(timeChanged(QTime)), t1, SLOT(setTime(QTime)));//неправильное присвоение значения.) QObject::connect(ui->pbStart, SIGNAL(clicked()), this, SLOT(Timer()));
void Widget::Timer(){ do{ t1->addSecs(-100);//уменьшение значения таймера }while(t1==0); ui->tabWidget_2->setCurrentIndex(2);//какие то действия }
Example for a one second (1000 millisecond) timer (from the Analog Clock example): QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000);From then on, the update() slot is called every second.interval : intThis property holds the timeout interval in milliseconds.The default value for this property is 0. A QTimer with a timeout interval of 0 will time out as soon as all the events in the window system's event queue have been processed.Setting the interval of an active timer changes its timerId().Access functions:int interval () constvoid setInterval ( int msec )
QTimer* t3=new QTimer(this);connect(t3, SIGNAL(timeout()), this, SLOT(update()));t3->start(1000);QObject::connect(ui->timeEdit, SIGNAL(timeChanged(QTime)), t3, SLOT(setTime(QTime)));
QObject::connect(ui->timeEdit_2, SIGNAL(timeChanged(QTime)), ui->timeEdit, SLOT(setTime(QTime)));
QTimer* countdown=new QTimer(this);//время в верхнем углу connect(countdown, SIGNAL(timeout()),this,SLOT(update_time_down())); countdown->start(1000);
void Widget::update_time_down(){[u]//считать время из оставшегося (№3)- как это сделать?[/u]countdown.addSecs(-1000);//предполагаю что это тоже не самая правильная реализация, тк значение наверное должно чему то присваиваться или оно и так сработает??[u]записать полученный результат в оставшееся время (№3);- так же как и с присвоением переменной значения в timeEdit, как это сделать?[/u]if(countdown==0){ connect(countdown, SIGNAL(timeout()),this,SLOT(stop()));//вроде это делается как то так}}
QTimer* countdown=new QTimer(this);//время в верхнем углу connect(countdown, SIGNAL(timeout()),this,SLOT(update_time_down())); countdown->start(1000);connect(ui->timeEdit, SIGNAL(timeChange(QTime)), countdown, SLOT(setTime(QTime)))