有关定时器嵌套及其中一个自动停止的问题:小弟想用一个定时器timer1查询控制命令"ok"是否接受,如果接受则启动另外一个定时器timer2,在另外的定时器timer2中再判断是否有结束字符:END,如果有则结束timer2,现在的问题是当出现字符END时程序段错误,经过排除初步确定是timer2 -> stop();的问题,请问各位大侠这个怎么解决?
Form1::Form1( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl=Qt::WStyle_Customize|Qt::WStyle_NoBorder )
{
if ( !name )
setName( "Form1" );
resize( 800, 480 );
setMinimumSize( QSize( 800, 480 ) );
setMaximumSize( QSize( 800, 480 ) );
setCaption( tr( "Form1" ) );
setPalette( QPalette( QColor( 255, 255, 255) ) );
QTimer *timer1= new QTimer(this,"timer1");
timer1 -> start(100);
connect( timer1, SIGNAL(timeout()), this, SLOT( slots1() ));
void Form1::slots1()
{
if((get_data[0]=='o') && (get_data[1]=='k'))
{
QTimer *timer2= new QTimer(this,"timer2");
timer2-> start(1000);
connect( timer2, SIGNAL(timeout()), this, SLOT( slots2() ));
LineEdit_r3->setText(tr("ok"))
}
}
void Form1::slots2()
{
if(data_save.find(QRegExp("END"),0)==203)
{
timer2 -> stop();
}
}
}