All streams
Search
Write a publication
Pull to refresh

Comments 23

UFO landed and left these words here
  1. Qt мне более известен, а gtk нет.

  2. Меня устраивают все терминалы, но всегда было интересно, как создать его.

  3. В линуксе qt можно установить из любой страны

«Создать»? Так вы ничего не создали. Вы готовую библиотечку вызвали.

это да, но хотелось для начала изучить основу

UFO landed and left these words here

Если интересно узнать, как создать терминал, стоит начать изучать такие вещи, как tty, pts, pipes и при зачем тут coreutils. QT классный, я сам его давно использую, но он скрывает под капотом многие вещи, чем неплохо упрощает жизнь, но что никак не улучшает понимание.

Справедливости ради - исходники Qt вполне доступны, а если, например, компилировать в статические приложения, так и вовсе необходимы

Ну почему фиг достанешь. В официальных репозиториях дистрибутивов Линукса он есть. Для Windows есть собранные библиотеки в MSYS2. Из исходников, наконец, собрать можно.

Примеры это всегда хорошо :)

Может подскажете как в qt реализуется паттерн mvvm, MVC, MVP? Начал изучать qt и удивился что там эти подходы почти не используются - есть компоненты QML, кастомные контроллы на C++, и все творится в них. А я привык что логика вынесена в другие места. Не осветите этот момент?

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

Qt это не про страницы, это про десктоп ;)

Вы, скорее всего, неправильно понимаете назначение модели. Модель - это слой (паттерн адаптер) над бизнес логикой который вы пишите для того, чтобы ваша бизнес логика автоматически подхватывалась представлением (view). А события взаимодействия через контроллер уже меняют модель, которая меняет ваши данные.

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

Ну хочется уточнить, что вы написали не столько терминал, сколько обертку для qt-библиотеки. Обработки ни одной команды VT100 у вас нет.

-> void

Зачем это в описании лямбды? У вас какой-то древний компилятор C++?

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

Минусующие приведут какие-либо аргументы?

Какой дилетантский код, я бы такой на пушечный выстрел не подпустил

Этот виджет можно использовать для отображения вывода если запустить программу внешнюю?

Интерактивность не нужна, нужна отработка спецсимволов которые выводит запускаемая программа.

QTermWidget *terminal = new QTermWidget();

terminal->setShellProgram("/path/to/your/program");

terminal->setArgs(QStringList() << "arg1" << "arg2");

terminal->startShellProgram(); // Запуск программы

Sign up to leave a comment.

Articles