Kod z qt na C++

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';
1

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

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.

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

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ł.

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.

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:(

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.

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).

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? ;)

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1