Russian Qt Forum

Qt => Вопросы новичков => Тема начата: sapsan от Декабрь 24, 2011, 01:00



Название: Псевдотабличный вывод в консоль(форматированый вывод)
Отправлено: sapsan от Декабрь 24, 2011, 01:00
Доброго времени суток!
  Необходимо выводить текст в форматированном виде в консоль.
К примеру, выводит:
Код:
Selected: Vava: Vov: 22
Selected: ksu: kli: 22
Selected: Belka: Belk: 22
Selected: Bla-Bla: Tu-tu-tu: 52
Хотелось бы: 
Код:
Selected: Vava:        Vov:        22
Selected: ksu:          kli:           22
Selected: Belka:       Belk:       22
Selected: Bla-Bla:    Tu-tu-tu:  52
Кусок программы:
Код:
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
     if (!createConnection()) {
        return -1;
    }
     QSqlQuery query;
    query.exec("SELECT name, age, firstname  FROM test WHERE age >=1");
     while (query.next())
    {
        QString name = query.value(0).toString();
        QString firstname = query.value(2).toString();
        int age = query.value(1).toInt();
        std::cerr << "Selected: "<< qPrintable(name) << ": " << qPrintable(firstname) << ": " << age << std::endl;
    }
    return a.exec();
}



Название: Re: Псевдотабличный вывод в консоль(форматированый вывод)
Отправлено: SimpleSunny от Декабрь 24, 2011, 01:12
Вместо пробелов используйте '\t'.


Название: Re: Псевдотабличный вывод в консоль(форматированый вывод)
Отправлено: sapsan от Декабрь 24, 2011, 16:07
Вместо пробелов используйте '\t'.

Пробовал, но не очень хорошо получается, некоторые строки "уплывают". Вроде похожее на правду нашел, зовётся  QTextStream::setFieldWidth(width)


Название: Re: Псевдотабличный вывод в консоль(форматированый вывод)
Отправлено: kambala от Декабрь 24, 2011, 18:28
в iomanip тоже есть аналогичная вещь для std потоков