Russian Qt Forum
Ноябрь 23, 2024, 15:25
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
[РЕШЕНО] QStateMachine
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО] QStateMachine (Прочитано 5623 раз)
ammaximus
Гость
[РЕШЕНО] QStateMachine
«
:
Октябрь 10, 2014, 15:36 »
С удивлением обнаружил, что на форуме ни разу не поднималась тема QStateMachine.
Насколько я понял это реализация конечного автомата с возможностями анимации, но анимация не главное. Т.е. я использую ее не для анимации а просто для реализации некой UML Statechart.
1. Меня огорчило отсутствие do, а главная проблема в отсутствии PseudostateChoice. Как осуществить выбор перехода от состояния к нескольким другим? Я понимаю, что можно унаследовать QState и наворочить что угодно, но это сильно усложнит код и я хотел бы этого избежать.
2. В сети не нашел нормальных примеров использования, а примеры из Qt слишком игрушечные. Примеры в студию!
«
Последнее редактирование: Ноябрь 06, 2014, 23:41 от ammaximus
»
Записан
ammaximus
Гость
Re: QStateMachine
«
Ответ #1 :
Октябрь 10, 2014, 16:06 »
3 вопрос. Вот одна из проблем с которой я столкнулся - есть параллельные события. Щелчки мыши переключают режим idle-work и обратно.
Но параллельные состояния зависят друг от друга, а именно, если нажатие мыши происходит, когда активно состояние IDLE, должен произойти переход A-B. Вот что я накрутил и что работает, вместо того, чтобы просто в IDLE.do написать connect(mouseClick,SIGNAL(switchAB). Есть какое то красивое решение этой проблемы в рамках QStateMachine?
«
Последнее редактирование: Октябрь 10, 2014, 16:11 от ammaximus
»
Записан
vulko
Гость
Re: QStateMachine
«
Ответ #2 :
Октябрь 13, 2014, 09:26 »
QStateMachine судя по всему придумывался чисто для поддержки анимации и работы с QStackedLayout(Widget).
Что мешает накидать свою StateMachine? Это совсем не сложно.
Да и ничего красивее своей изобразить из Qt-шной все равно не получиться.
Записан
ammaximus
Гость
Re: QStateMachine
«
Ответ #3 :
Октябрь 13, 2014, 11:59 »
Цитировать
QStateMachine судя по всему придумывался чисто для поддержки анимации и работы с QStackedLayout(Widget).
((((
Теперь возникло желание дорабатывать Qt
Записан
ChuCiiPraKray
Гость
Re: QStateMachine
«
Ответ #4 :
Октябрь 16, 2014, 07:10 »
У меня много материала здесь. Может использоваться в повседневной жизни, на самом деле не.
Записан
ammaximus
Гость
Re: QStateMachine
«
Ответ #5 :
Ноябрь 06, 2014, 23:25 »
Забыл написать, вниметельно разобрался с этой темой и теперь очень хорошо понимаю как это работает. QStateMachine очень хорошо показала себя в задачах, не имеющих отношение к анимации. Код стал очень удобным и наглядным, а главное невероятно гибким. В случае необходимости я вношу коррективы в uml-схему и сразу же делаю это в коде.
К сожалению, не нашел никаких материалов, которые рассматривали бы ее с этой стороны, даже в англоязычном сегменте. Поэтому, в ближайшее время напишу заметку по этому вопросу.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...