Ping sur qt

0/5 (3 avis)

Snippet vu 7 027 fois - Téléchargée 18 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
la relase est actuellement en DL ici ==> http://rapidshare.com/files/22308989/release.rar
CDT,
Emerich
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
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
19 avril 2013 à 12:24
J ai pas cute d'installé
tu veux pas fournir l'exe en le renommant
avec une lib static . et prevenir ..
Merci

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)