crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> Консоль для вывода log'ов, из чего?
NordWest
  опции профиля:
сообщение 12.2.2009, 14:26
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

Спасибо сказали: 1 раз(а)




Репутация:   0  


Нужен док-виджет для вывода в него построчно разной информации. Как вывод в консоль для консольного приложения.
QLabel вроде как будет затирать - не удобно.
Попробовал QTextEdit.

Сделал так:
conText = new QTextEdit(dockConWidget);
conText->setReadOnly(true);
conText->setTextColor(Qt::white);
conText->setTextBackgroundColor(Qt::black);
conText->resize(1280, 1000);
conScrollArea = new QScrollArea(dockConWidget);
conScrollArea->setBackgroundRole(QPalette::Shadow);
conScrollArea->setWidget(conText);
dockConWidget = new QDockWidget(tr("logs panel"),this,Qt::Widget);
dockConWidget->setWidget(conScrollArea);
dockConWidget->setMinimumSize(625,175);
dockConWidget->setFloating(true);
addDockWidget(Qt::BottomDockWidgetArea,dockConWidget);
dockConWidget->hide();


Вроде сойдет. Хотя видимо есть лучше средства.

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

Или хотя бы связать его с переменной QTextStream для вывода через "<<". Просто так не получается:
out = new QTextStream(conText);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 12.2.2009, 14:46
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


NordWest,
Цитата
Нужен док-виджет для вывода в него построчно разной информации


это для лога или для чего то другого??? просто если для лога не легче добавить к проекту консоль и любоваться на лог в консоли?

Сообщение отредактировал kwisp - 12.2.2009, 14:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NordWest
  опции профиля:
сообщение 12.2.2009, 15:24
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(kwisp @ 12.2.2009, 14:46) *
NordWest,
Цитата
Нужен док-виджет для вывода в него построчно разной информации


это для лога или для чего то другого??? просто если для лога не легче добавить к проекту консоль и любоваться на лог в консоли?


Пока просто для вывода информации о результатах работы. Вроде строки состояния, но чтобы можно было посмотреть все вывода, а не последний.

Если консоль прикрутить, она будет отображать выводы всех printf? Не очень с консолью связываться хочется, но в принципе выход... А как консоль добавить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.2.2009, 15:35
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


NordWest, поищи по форуму о пренаправлении вывода qDebug
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 12.2.2009, 15:42
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


NordWest,
Цитата
Если консоль прикрутить, она будет отображать выводы всех printf? Не очень с консолью связываться хочется, но в принципе выход... А как консоль добавить?


тут дело вкуса есть Qt функции qDebug() qWarning()
я пользуюсь стандартными
std::cout
std::cerr

консоль добавить легко в файле проекта нужно добавить CONFIG+=console

Сообщение отредактировал kwisp - 12.2.2009, 15:43
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NordWest
  опции профиля:
сообщение 12.2.2009, 16:05
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(kwisp @ 12.2.2009, 15:42) *
тут дело вкуса есть Qt функции qDebug() qWarning()
я пользуюсь стандартными
std::cout
std::cerr

консоль добавить легко в файле проекта нужно добавить CONFIG+=console


Ну да. Это получается надо запустить приложение из консоли и заглядывать в эту консоль после каких-либо действий. А надо, чтобы либо консоль была в виджете окна, как в kate например, либо перенаправить std::cout на текстовый контейнет, который будет в режиме readonly в док-виджете.

Т.е. нужно перенаправить вывод в виджет.

Вот тут нашел что-то похожее: http://www.forum.crossplatform.ru/index.ph...amp;#entry14479
Написал туда ещё.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.2.2009, 16:08
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(NordWest @ 12.2.2009, 19:05) *
Написал туда ещё.
а зачем плодить один и тотже вопрос в разных темах, там совсем другая тема. Ищи то что я тебе сказал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 12.2.2009, 16:11
Сообщение #8


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


NordWest,
пишешь под виндой? или под линуксом? или тебе надобно и там и там?
думаю в консоли не обязательно запускать она (консоль сама появится) :) при любом запуске если тые её добавишь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.2.2009, 16:25
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


kwisp, да вывод в консоль это только для разработчика, а ему надо для пользователя.

----
ХМ, вот сам написал и понял, что и мой совет мимо :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 12.2.2009, 16:37
Сообщение #10


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Litkevich Yuriy,
конечно мимо, там перенаправление в поток.

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

Сообщение отредактировал kwisp - 12.2.2009, 16:40
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 23:26