LINUX.ORG.RU

[QT] string и QString

 


0

0

Уважаемый ALL! Не могу разобраться! Вот структура:

#ifndef GLOBALS_H
#define GLOBALS_H

#include <string>
#include <vector>
#include <QString>
#include "globals.h"

using namespace std;


struct curve{
        vector<string>  inFile;
        vector<string>  outFile;
        vector<string>  expFile;
        vector<string>  spiceParam;
        vector<string>  spiceMin;
        vector<string>  spiceInit;
        vector<string>  spiceMax;
        string AlgOpt;
    };

#endif // GLOBALS_H

В другом файле: тут я в строковые поля передаюения и потом возвращаю структуру.

curve res;

..........

    QDomElement inf = child.firstChildElement("file");
    while(!inf.isNull()){

        res.inFile.push_back(inf.firstChildElement("Cir").text().toStdString());
        res.outFile.push_back(inf.firstChildElement("Out").text().toStdString());
        res.expFile.push_back(inf.firstChildElement("Exp").text().toStdString());

        inf = inf.nextSiblingElement("file");
    }

В другом файле: тут из уже полученной структуры пытаюсь записать в поля таблицы значения

//теперь заполняем таблицы полученной инфой
            ui->filestableWidget->setRowCount(0);
            for(i=0;i<res.expFile.size();i++){
                ui->filestableWidget->setRowCount(ui->filestableWidget->rowCount()+1);

                ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,0, new QTableWidgetItem("TTTTTT"));
                ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,0, new QTableWidgetItem(new QString(res.inFile.at(i))));
                ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,1, new QTableWidgetItem(new QString (res.outFile.at(i))));
                ui->filestableWidget->setItem(ui->filestableWidget->rowCount()-1,2, new QTableWidgetItem(new QString (res.expFile.at(i))));
            }
            ui->modelparamtableWidget->setRowCount(0)

... Получаю такую ошибку:

.../mainwindow.cpp:146: error: no matching function for call to ‘QString::QString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’

Подскажите, где я неправ? Как надо? P.S. Хочу использовать простую строку, так как эта же инфа передается в другие функции, где QT использовать не надо.

Ответ на: комментарий от Love5an

>использование STL вообще дурной тон...

<troll-mode> Ага. Ещё использование С++ дурной тон. С#/Ruby/Pyton/Haskel/ML/Lisp/Erlang/Scala/Brainfuck это наше всё. </troll-mode>

pathfinder ★★★★
()
Ответ на: комментарий от pathfinder

Поймите меня правильно. Я не хочу сказать что с STL не бывает проблем. Просто я против таких категоричных высказываний.

pathfinder ★★★★
()
Ответ на: комментарий от pathfinder

> Подробней пожалуйста. А что тогда нужно?

да шучу я, нормальным людям вполне очевидно, что раз языком пользуются - значит он нужен

lester ★★★★
()
Ответ на: комментарий от pathfinder

>А что тогда нужно?
А почему C++?
Поделки на C++ действительно не нужны. Вернее, поделки - пофигу, если кому-то нравится, скажем, поедать фекалии - почему бы и нет, пусть сидит дома и кушает их сколько хочет. Но вот серьезное что-то на нем писать...

Love5an
()
Ответ на: комментарий от lester

И зачем он нужен?
Так уж получилось, что наш мир неидеален, в нем, а особенно в том, что создано людьми, много противоречивого, несправедливого и просто идиотского. Поэтому говорить что-то нужно просто потому, что оно есть, это либо глубокий буддизм, либо не менее глубокий идиотизм.
А пользуются им дык потому что legacy. Понаписали в свое время, теперь расхлебывают.

Love5an
()
Ответ на: комментарий от Love5an

> На C++? Нет уж, спасибо.

на чем угодно - а то согласитесь, странно, что человек, не написавший ничего серьезного, разглагольствует с таким пафосом про написание «чего-то серьезного»

lester ★★★★
()
Ответ на: комментарий от pa23

> И using namespace std; в заголовочном файле - дурной тон.

И почему же, если это не либа?

gena2x ★★★
()
Ответ на: комментарий от lester

Я понимаю, что тебе возразить на собственно тезис нечего, и ты переходишь на личности и пытаешься развести демагогию, но я этому потакать не буду :)


Язык, в котором одну базовую фичу языка(исключения) нельзя ни в коем случае сочетать с другими базовыми фичами(деструкторы, конструкторы), для написания чего-то крупного не подходит в принципе, к статисту не ходи, чтобы понять, сколько трудноотловимых глюков только хотя бы из-за этой конкретной несовместимости может получиться на, скажем, миллионе строк кода. Язык, значительную часть литературы по которому занимает описание того, как на нем __не_надо__ писать, для написания чего-то крупного, опять же, не подходит банально потому, что все это не выучить, а если и даже и выучить, то нельзя гарантировать, что выучат другие, тем более какие-нибудь индусы(а крупные проекты одним энтузиастом, как известно, не делаются).

Love5an
()
Ответ на: комментарий от Love5an

> Я понимаю, что тебе возразить на собственно тезис нечего, и ты переходишь на личности и пытаешься развести демагогию, но я этому потакать не буду :)

ч.т.д., кто не умеет - тот учит

lester ★★★★
()
Ответ на: комментарий от Love5an

бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла-бла

alex_custov ★★★★★
()
Ответ на: комментарий от lester

Да ты не беспокойся, участвовал я в крупных(относительно) проектах :)
Но не опенсорс.

Но это перпендикулярно тому факту, что по существу тебе возразить нечего.

п.с. «уметь» C++ я, конечно, не умею, потому как это просто невозможно в принципе. Но нигде и не утверждал обратное.

Love5an
()
Ответ на: комментарий от Love5an

И вот так всегда. Когда фанатикам предъявляются какие-то здравые тезисы, противоречащие их внутренним глюкам, они переходят на личности :)

Love5an
()
Ответ на: комментарий от Love5an

> О, ну теперь я вижу, ты идиот.

все что на данный момент видно - что ты обычный балабол, который ничего не умеет

lester ★★★★
()
Ответ на: комментарий от Love5an

> И вот так всегда. Когда фанатикам предъявляются какие-то здравые тезисы, противоречащие их внутренним глюкам, они переходят на личности :)

«фанатикам» просто интересно узнать с кем они разговаривают - с действительно знающими людьми или треплом вроде тебя, которое не может показать ни одной серьезной своей работы

lester ★★★★
()
Ответ на: комментарий от Love5an

> Умею, кстати, детектировать фанатиков и идиотов, что уже не мало.

самоанализ - это хорошо, не останавливайся

lester ★★★★
()
Ответ на: комментарий от Love5an

> И с какого хрена ты взял что это потому, что показывать нечего?:)

жду твоей версии - почему тебе нельзя разглашать свое авторство, надеюсь это что-то важное - например работа на спецслужбы

Ты идиот, нет, правда.


у тебя очень богатая фантазия и большой словарный запас

lester ★★★★
()
Ответ на: комментарий от lester

Так и быть, можешь в следующий раз когда пишешь мне ответ, если, конечно, я тебе случайно не ущемил ничего и ты меня не заигнорил, представлять, что разговариваешь, скажем, с Питером Норвигом.

Love5an
()
Ответ на: комментарий от lester

На такие ответы на имиджбордах вешают картинку петросян.jpg

Love5an
()
Ответ на: комментарий от lester

>жду твоей версии - почему тебе нельзя разглашать свое авторство, надеюсь это что-то важное - например работа на спецслужбы
А что, я должен перед тобой оправдываться? А не пройдешь ли куда подальше?

Love5an
()
Ответ на: комментарий от Love5an

> представлять, что разговариваешь, скажем, с Питером Норвигом.

«На такие ответы на имиджбордах вешают картинку петросян.jpg» (c)

А что, я должен перед тобой оправдываться?


нет - но это не отменяет факта, что ты анонимное и бездарное трепло

П.С. можешь не отвечать( хотя знаю, что ты не удержишься ) - я писать в этом топике не буду

lester ★★★★
()
Ответ на: комментарий от lester

>нет - но это не отменяет факта, что ты анонимное и бездарное трепло
Высказался - и аж по ноге потекло?

Видишь какое дело, ты показал свою тупость, переходя на личности, будучи тыкнут в нос фактом. Ну т.е. если бы C++ был так хорош, а ты не был бы так туп, ты бы обосновал по пунктам, почему собственно, на C++ стоит писать крупные проекты, и почему это хорошо, и я бы, может, даже устыдился и бросился писать их на нем, а может даже и агитировать других.


П.С. можешь не отвечать( хотя знаю, что ты не удержишься ) - я писать в этом топике не буду

Да ты прямо Д'артаньян!

Love5an
()
Ответ на: комментарий от Love5an

новенький? унылые плюсосрачи всех уже подзадолбали, хоть и возникают периодически вновь с новым задором. хочешь поесть, так обосри лучше ерланг с окамлом, практика показывает, это эффективнее.

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

н-да.... после третьего поста можно было удалять тему...

spike_by
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.