主要任务目标就是一旦“计算”按键按下将触发事件
PushButtonCalculate = new QPushButton( this );
PushButtonCalculate->setText( tr( "Calculate" ) );
connect(PushButtonCalculate,SIGNAL(clicked()),this,SLOT(slotCalculate()));
然后在满足条件的情况下,循环计算y=x1+x2,并显示在一个QListWidget列表中,而且保证每次计算完毕等待五秒才开始下一次
void Task::slotCalculate()
{
PushButtonCalculate->setEnabled( false );
while(status)
{
double x1 = qrand()%10;
LabelX1Value->setText(QString::number(x1));
double x2 = qrand()%10;
LabelX2Value->setText(QString::number(x2));
double y = x1+x2;
LabelYValue->setText(QString::number(y));
int length = 0;
QString msg=userName+":"+LabelYValue->text();
if((length=tcpSocket->write(msg.toLatin1(),msg.length()))!=msg.length())
{
return ;
}
mySleep::msleep(5000);
}
}
问题是我按照以上编写之后,run都成功,可是一旦按下“计算”就陷入假死状态必须强制关闭。如果把循环去掉,靠手工每次按下按键,程序运行良好。
感谢大人能帮助我找出问题修改,不胜感谢。