Ping sur qt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 352 fois - Téléchargée 15 fois

Contenu du snippet

Suite à un énorme ennui en cours d'info et de nombreuses recherches sur le net j'ai développé un petit programme sur QT permettant de faire un ping. il n'est fonctionnel que sur Windows.

Source / Exemple :


___________________________
Main.cpp
___________________________
#include <QtGui/QApplication>
#include "qt_ping.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QT_Ping w;
    w.show();
    
    return a.exec();
}

____________________________
QT_ping.h
____________________________
#ifndef QT_PING_H
#define QT_PING_H

#include <QMainWindow>
#include <QProcess>
#include <QMessageBox>
#include <QtNetwork/QTcpSocket>

namespace Ui {
class QT_Ping;
}

class QT_Ping : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit QT_Ping(QWidget *parent = 0);
    ~QT_Ping();
    
private slots:
    void on_Commencer_clicked();
    void Reception();

    void on_actionNouveau_triggered();

private:
    Ui::QT_Ping *ui;
    QProcess ProcessPing;
     QString Buffer;
};

#endif // QT_PING_H

________________
QT_ping.cpp 
_______________

#include "qt_ping.h"
#include "ui_qt_ping.h"
#include <QDebug>

QT_Ping::QT_Ping(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::QT_Ping)
{
    ui->setupUi(this);
    // connexion au slot de réception du ping
    connect(&ProcessPing,SIGNAL(readyReadStandardOutput()),this,SLOT(Reception()) );
}

QT_Ping::~QT_Ping()
{
    delete ui;
}

//commencer un ping
void QT_Ping::on_Commencer_clicked()
{

   // Si ping successif netoyage de la fenetre de resultat
   if(ui->ResultPing->toPlainText()!="")
   ui->ResultPing->setText("");

  // Vérification adresse tapée
  if ( ui->AdresseEdit->text()== "")
  {
    QString msg=" Pas d'adresse tapée ";
    QMessageBox::warning(this,"Echec d'adresse' ",msg);
  }
  else
  {
     // préparation du ping argument + commande a appeler
     QStringList arguments;
     QString program = "ping";
     arguments << ui->AdresseEdit->text();
     ProcessPing.start(program,arguments);
  }
}

// slot de reception du signal pret a lire
void QT_Ping::Reception()
{
   // Mise en page pour le fun
        ui->ResultPing->setFontWeight(QFont::Bold);

    // affichage des résultat
    ui->ResultPing->insertPlainText(ProcessPing.readAll());
}

//néttoyage interface
void QT_Ping::on_actionNouveau_triggered()
{
    ui->AdresseEdit->setText("");
    ui->ResultPing->setText("");

}

A voir également

Ajouter un commentaire

Commentaires

ccgousset
Messages postés
145
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
23 juillet 2019
-
J ai pas cute d'installé
tu veux pas fournir l'exe en le renommant
avec une lib static . et prevenir ..
Merci
Salut je peux fournir la release mais les dll qui vont avec sont trop lourde pour être up ici car la imite ets de 1Mo alors que le tout fait 4.5Mo ! je peux te l'envoyer par mail si tu le souhaite
la relase est actuellement en DL ici ==> http://rapidshare.com/files/22308989/release.rar
CDT,
Emerich

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_LoVerMaKi)