![]() |
|
![]() ![]() ![]() |
|
nighthare |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 24.12.2005 Репутация: нет Всего: нет |
Доброго вам сремени суток!
Столкнулся с таким не пониманием QT, прошу вашей помощи! Суть - я запускаю QWidget - и в процессе запуска хочу что-то для себя вывести на консоль, например std::cout или printf(); Но после запуска приложения на консоли ничего нет, и скидывается в нее текст только после того как я нажму на крестик на окне. Вопрос почему - в консоли сразу не появляется текст? и как сделать так чтобы он появлялся? Методом тыком, обнаружил - что если использовать qDebug("Some text") - то такой текст в консоли появляется тут же.. В чем загвоздка с std::cout ? И второй вопрос, возможно это как-то связано - если раскоментировать в классе - QuickPlot Q_OBJEC, то программа падает с такой ошибкой - :-1: error: collect2: ld returned 1 exit status
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Да уж, жестокое сочетание. Создание QWidget'а в главном потоке и последующее его использование из дочернего потока... Ничего хорошего из этого не выйдет. Может не flush'ит? Такое тоже работает:
Это сообщение отредактировал(а) SABROG - 16.10.2009, 21:29 |
|||
|
||||
destrd |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 1.10.2008 Репутация: нет Всего: 4 |
Как собираете то? Если qmake то надо добавить опцию
CONFIG += console --------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski in comp.lang.emacs |
|||
|
||||
nighthare |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 24.12.2005 Репутация: нет Всего: нет |
С такой опцией виджет не работает, окно не показывается на экран.
Это я тоже понял. Просто идея - что из главного потока можно было бы вызвать по сути несколько независимых окон.. Каждое из которых принялось бы что-то делать, например обсчитывать что-то и тут же отображать на экране. (И для этого тоже нужно чтобы было несколько потоков у одного окна, например для распараллеливания..) При этом всю дебагерную информацию - хочу кидать в консоль. (Задача придуманная, академическая. Просто хочется понять как такое можно быстро и красиво решить на QT)
А это лечится? |
||||||
|
|||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Можно попробовать полечить так:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |