void Login::on_loginPushButton_clicked() { extern Server g_server; Tux *tux; IMAPI imAPI; QTcpSocket *tcpSocket; if(ui->accountLineEdit->text().trimmed().isEmpty() || ui->pwdLineEdit->text().isEmpty()) { QMessageBox::information(this, "提示", "请填好账号和密码!"); return; } this->userProfile.account = (quint32)ui->accountLineEdit->text().toUInt(); this->userProfile.pwd = ui->pwdLineEdit->text(); tcpSocket = Utils::getInstance()->getTcpSocket(); if(!imAPI.login(tcpSocket, ui->accountLineEdit->text().toUInt(), ui->pwdLineEdit->text(), g_server.getIp(), g_server.getPort(), this->userProfile)) { QMessageBox::information(this, "提示", "账号或密码错误!"); return; } tux = new Tux(this->userProfile); tux->show(); this->hide(); }
int main( int argc, char* args[] ) { //Ce qui va nous permettre de quitter bool quit = false; //Le tux qu'on va utilise Tux monTux; //Le regulateur Timer fps; //Initialisation if( init() == false ) { return 1; } //Chargement des fichiers if( load_files() == false ) { return 1; } //Tant que l'utilisateur n'a pas quitter while( quit == false ) { //On demarre le timer fps fps.start(); //Tant qu'il y a un événement while( SDL_PollEvent( &event ) ) { //On recupere l'evenement pour le tux monTux.handle_input(); //Si l'utilisateur a cliqué sur le X de la fenêtre if( event.type == SDL_QUIT ) { //On quitte the programme quit = true; } } apply_surface( 0, 0, fond, screen ); //On affiche le tux sur l'ecran monTux.show(); //Mise à jour de l'écran if( SDL_Flip( screen ) == -1 ) { return 1; } //Tant que le timer fps n'est pas assez haut while( fps.get_ticks() < 1000 / FRAMES_PER_SECOND ) { //On attend... } } //Nettoyage clean_up(); return 0; }