Kod z qt na C++

Artur Grabowski
  • Rejestracja:prawie 8 lat
  • Ostatnio:około 7 lat
  • Postów:19
0

Witam
Zaczełem się bawić w qtcreator ale kiepsko mi na razie idzie :/ wie ktoś może jak przerobić kod z qt na kod c++ dostosowany do cblocksa ?
Inijki kodu :
Dzięki za pomoc xD

QMap< int, QMap<int,double > > *cConnectionDefinitionSection::getConnections()
{
return &targets;
}

cConnectionDefinitionSection::cConnectionDefinitionSection(QString raw)
{
QStringList lines=raw.split("\n",QString::SkipEmptyParts);

int indeks=-1;
while( ++indeks<lines.size() )
{
    QString lineCopy=lines.at(indeks);
    lineCopy.replace("-","");
    lineCopy.replace("|","");
    if( lineCopy.isEmpty() )
        break;
}

if( ++indeks>lines.size() )
{
    qDebug()<<"FATAL ERROR: cConnectionDefinitionSection missing data lines";
    return;
}


while(indeks<lines.size())
{
    QString unitConnections(lines.at(indeks));
    ++indeks;
    while( !lines.at(indeks).contains("|") )
    {
        unitConnections.append(lines.at(indeks));
        ++indeks;
    }

    QStringList unitConnectionsSplit=unitConnections.split("|");

    int target=unitConnectionsSplit.at(0).toInt();

    QString connections=unitConnectionsSplit.at(2);

    QMap<int,double> units_weights;
    foreach (QString s, connections.split(",")) {
        s.replace(" ","");
        QStringList unit_weight=s.split(":");

        units_weights.insert(unit_weight.at(0).toInt(),unit_weight.at(1).toDouble());
    }


    targets.insert(target,units_weights);

    QString testCopy=lines.at(indeks);
    testCopy.replace("|","");
    testCopy.replace("-","");

    if(testCopy.isEmpty())
        break;
}

qDebug()<<"\nSUMMARY:\n";
qDebug()<<"total targets: "<<targets.size();

QMap< int, QMap<int,double> >::iterator it;
it=targets.begin();
int connections=0;
while(it!=targets.end())
{
    connections+=it.value().size();
    it++;
}


qDebug()<<"total connections: "<<connections<<'\n';
edytowany 1x, ostatnio: Artur Grabowski
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
1

Przecież ten kod już jest napisany w C++.


grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
0

To co napisał @Patryk27 plus fakt, że masz pod ręką doskonałe IDE jakim jest QtCreator, a jeszcze chcesz się przesiadać. Bez sensu.

fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

Qt jest frameworkiem wiec musialbys napisac cos w zamian by to przepisac na codeblocksa.

Jezeli sprawia Ci to problemy... moze przesiadz sie na jakis jezyk ktory nie jest tak skomplikowany?

Albo dokumentacja / ksiazka / internet i douczyc sie

xfin
  • Rejestracja:ponad 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Genewa
  • Postów:597
2
Artur Grabowski napisał(a):

Zaczełem się bawić w qtcreator ale kiepsko mi na razie idzie :/ wie ktoś może jak przerobić kod z qt na kod c++ dostosowany do cblocksa ?

@Artur Grabowski:
A ja odpowiem - wyrzucić wszystkie metody i klasy z Qt. I zastąpić np. tymi z std (albo boost), czyli między innymi:

  1. Wywalenie qDebug
  2. Zamiana QString na std::string i zabawa z odpowiednimi metodami.
  3. Zamiana QMap na std::map

A druga sprawa - co "idzie ci kiepsko"? Jak nie możesz pierwszy raz ruszyć samochodem, to nie zmieniasz modelu, tylko prosisz, żeby ktoś z Tobą usiadł.

edytowany 1x, ostatnio: xfin
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:4 minuty
0

Jak się pisze takie długie funkcje to nie ma się potem co dziwić, że się ich potem nie ogarnia.
Z tego co widzę w czystym C++ będziesz miał te same problemy.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
Artur Grabowski
  • Rejestracja:prawie 8 lat
  • Ostatnio:około 7 lat
  • Postów:19
0

Po prostu funkcja qmap odpowiada za wyddobycie z dodatkowego pliku pewnych informacji po czym ma utworzyć w pamięci pewną macież..... niestety odpalając w qt cały projekt mam cały czas błąd z parsowaniem plików a tym samym występuje błąd qmake:(

MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:4 minuty
1

Mylisz pojęcia. Jeśli masz problem z qmake, znaczy że coś popsułeś w pliku *.pro. Funkcja parsowania pliku nie ma tu nic do rzeczy.
Dopóki nie zadasz porządnego pytania, nikt nie będzie ci wstanie pomóc.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
xDevil2
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Poznań
  • Postów:109
0

No i jeśli nie umiesz C++ to nie zaczynaj z frameworkiem takim jak Qt, bo nic nie ogarniesz(albo będzie to baaardzo trudne).

xfin
  • Rejestracja:ponad 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Genewa
  • Postów:597
0

@Artur Grabowski:

Zrób cleana w folderze - qmake czasem jest na takie rzeczy czuły.
Inna sprawa - skoro błąd występuje na poziomie qmake, to nie ma sensu rzucać całego Qt. Trzeba rozwiązać instniejący problem - tylko jak mamy Ci pomóc, skoro nawet nie wiemy jaki to error? ;)

Artur Grabowski
  • Rejestracja:prawie 8 lat
  • Ostatnio:około 7 lat
  • Postów:19
0

Udało mi się to odpalić :) po prostu zły profil narzędzi zaznaczyłem;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.