Re[3]: Создать окна в консольном приложении. Как?
От: B0FEE664  
Дата: 11.11.21 13:20
Оценка: -1
Здравствуйте, imh0, Вы писали:

I>Смотрите, вопрос по теме форума, вопрос не простой, вопрос на самом деле актуальный...

Вопрос слишком обширный и не понятно, чего хочет imh0.
Если он хочет несколько консольных окон в одном приложении с одним(!) запущенным процессом — то это не возможно. Однако приложение может запускать самого себя с другими ключами и обеспечивать общение между своими запущенными процессами. Это возможно, но не понятно причём тут Qt.
Если imh0 хочет одно приложение и несколько диалоговых графических окон, то это в Qt делается не то, чтобы совсем просто, но просто.
Есть ещё вариант, обеспечивать окна внутри консоли (псевдографикой). Это возможно и даже имеет смысл, когда приложение запускается на системе, где нет графики, например, внутри соединения по SSH, во встроенных системах, где нет места под обеспечение клиенткой части X Windows.
Возможно imh0 хочет ещё чего-то, чего я не понимаю.

I>Чтобы продемонстрировать это, воспользуюсь темой со стека, из видимо наиболее понятной тут области винды...

I>https://stackoverflow.com/questions/16540743/windows-message-loop-instead-of-qapplicationexec-qapplicationprocesseven
I>В QT есть такие понятия как QApplication QMainWindow QWidget QWindow QDialog и пр. все они строятся на обработке событий.
Ерунда. В Qt есть ровно один цикл обработки сообщений, причём, если мне не изменяет память, он должен находится в основной нитке. Есть возможность встроить свой обработчик внутрь Qt-обработчика, но зачем?!
И как это вообще связано с вопросом imh0?

I>например мы создаем QMainWindow, затем показываем его и запускаем QApplication ... После чего мы получим управление только после того как приложение QApplication завершиться. )) То есть глядя на ответы в теме, так и хочется сказать, коллеги, что вы несете. )

Управление где? В основной нитке? Ну да. Из этого всего лишь следует, что надо запустить свои нитки до того, как будет запущен QApplication::exec(). В частности, если imh0 хочет работать именно с консолью, то нужна одна отдельная нитка на чтение команд из консоли, например. Но, пока что ещё не ясно, чего хочет imh0.

I>Например этот "перец"....

I>

I>Здравствуйте, Bill Baklushi, Вы писали:
BB>>imh0:
I>>>Народ, есть идеи?
BB>>Конечно есть. Берешь и делаешь. В чем сложность?

I>==
I>Помоему надо уже что-то такое делать, экстраординарное, чтобы форумы спасти ) А может и не надо их спасать, просто по-удалять или по-закрывать... )
Прежде чем что-то отвечать, надо понять, чего хочет imh0 и в чём его сложности.
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.