qtextedit

Mattepuffo's logo
Da Qstring a string e viceversa

Da Qstring a string e viceversa

Quando si sviluppa con le Qt si incappa spesso in problemi incompatibilità tra le classi native del C++ e del framework.

Nel caso specifico mi sono trovato a dover fare la conversione da QString a string e viceversa.

Questo perchè ho una classe che svolge determinate operazioni al di fuori del fremwork e che ha una risultato raccolto dalla gui.

Nello specifico la classe è questa:

#include "scan.h"

#include <stdio.h>

#include <stdlib.h>

#include <string>

using std::string;

Scan::Scan()

{

}

string Scan::scanNetwork(string cmd)

{

char *buf = &cmd[0];

FILE *p = popen(buf, "r");

string s;

for (size_t count; (count = fread(buf, 1, sizeof(buf), p));)

{

s += string(buf, buf + count);

}

pclose(p);

return s;

}

La classe prende come input quanto scritto in una QTextEdit e il risultato viene visualizzato in un'altra QTextEdit.

Solo che personalmente nella classe preferisco usare le librerie standard del C++, mentre nella QMainWindow usare le classi Qt.

Vediamo quindi come fare i due passaggi.