Qt学习经验之quit()、exit()、close()《转载》
        {
            QApplication* app;
            app->exit(0);
         }
      {
         QApplication* app;
         app->quit();
      }
QPushButton *quitButton = new QPushButton( "Quit" ); connect( quitButton, SIGNAL(clicked()), qApp, SLOT(quit()) );
  if (!(QMessageBox::information(this,tr("CT Control View"),tr("Do you really want to log out CT Control View?"),tr("Yes"),tr("No"))))
  {
     this->close();
  }
 void mainWindow::closeEvent( QCloseEvent * event )
 {
    switch( QMessageBox::information( this, tr("CT Control View"),
    tr("Do you really want to log out CT Control View?"),
    tr("Yes"), tr("No"),
    0, 1 ) ) 
    {
     case 0:
     event->accept();
        break;
     case 1:
     default: 
        event->ignore();
        break; 
    }   
  }
int main( int argc, char ** argv )
{
    QApplication a( argc, argv );
    ABMainWindow *mw = new ABMainWindow();
    mw->setCaption( "Qt Example - Addressbook" );
    a.setMainWidget( mw );
    mw->show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    int result = a.exec();
    delete mw;
    return result;
}
 connect(ui.RECVpushButton,SIGNAL(clicked()),this,SLOT(test()));
	connect(&tcpThread,SIGNAL(SignalRecv()),this,SLOT(receNetConnect()));
void MainWindow::receNetConnect()
{
	tcpipLink.TCPIPRecvData();
	//tcpipLink.TCPIPCheck();
	data[0]=tcpipLink.recvbuf[0];
	data[1]=tcpipLink.recvbuf[1];
	data[2]=tcpipLink.recvbuf[2];
	data[3]=tcpipLink.recvbuf[3];
	data[4]=tcpipLink.recvbuf[4];
	data[5]=tcpipLink.recvbuf[5];
	data[6]=tcpipLink.recvbuf[6];
	data[7]=tcpipLink.recvbuf[7];
	data[8]=tcpipLink.recvbuf[8];
	data[9]=tcpipLink.recvbuf[9];
	data[10]=tcpipLink.recvbuf[10];
	//第二种赋值 利用数组
	//data[0]=tcpipLink.dddd[0];
	//data[1]=tcpipLink.dddd[1];
	//data[2]=tcpipLink.dddd[2];
	//data[3]=tcpipLink.dddd[3];
	//data[4]=tcpipLink.dddd[4];
	//data[5]=tcpipLink.dddd[5];
	s1 = QString::number(data[0],'f',6);
	s2 = QString::number(data[1],'f',6);
	s3 = QString::number(data[2],'f',6);
	s4 = QString::number(data[3],'f',6);
	s5 = QString::number(data[4],'f',6);
	s6 = QString::number(data[5],'f',6);
	s7 = QString::number(data[6],'f',6);
	s8 = QString::number(data[7],'f',6);
	s9 = QString::number(data[8],'f',6);
	s10 = QString::number(data[9],'f',6);
	s11 = QString::number(data[10],'f',6);
	ui.lineEdit->setText(s1);
	ui.lineEdit_2->setText(s2);
	ui.lineEdit_3->setText(s3);
	ui.lineEdit_4->setText(s4);
	ui.lineEdit_5->setText(s5);
	ui.lineEdit_6->setText(s6);
	ui.lineEdit_joint1->setText(s7);
	ui.lineEdit_joint2->setText(s8);
	ui.lineEdit_joint3->setText(s9);
	ui.lineEdit_joint4->setText(s10);
	ui.lineEdit_joint5->setText(s11);
}
void MainWindow::test()
{
	tcpThread.start();
}
void MainWindow::Stop()
{
	printf("it's stop!\n");
	tcpThread.terminate();
}
ThreadTCP
void ThreadTCP::run() 
{ 
	//emit SignalLink();
	//emit SignalRecv();
	while(1)
	{
		if(m_stopFlag==false)
		{
			break;
		}
		printf("OK!\n");
		Sleep(400);
		emit SignalRecv();
	}
}
即可将该线程终止,并能继续接收数据!!!!!!!
 
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号