42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
|
||||||
1 | ||||||
Изменение анимации qml lineseries27.12.2017, 13:14. Показов 2546. Ответов 6
Метки нет (Все метки)
Уважаемые знатоки выручайте!
Пытаюсь делать динамический график изменения параметра во времени (график в координатах напряжение - время). Обновляю график каждую секунду по таймеру. Для lineseries включил анимацию: animationOptions: ChartView.SeriesAnimations, т.к. без нее, на мой взгляд обновление графика выглядит не очень красиво, но т.к. мое приложение работает произвольное количество времени, то мне нужно удалять точки из начала графика, иначе приложение виснет. При удалении точек, с включенной анимацией, график начинает моргать, мне данный эффект не подходит, подскажите как можно убрать данное моргание графика. Мой код: Кликните здесь для просмотра всего текста
0
|
27.12.2017, 13:14 | |
Ответы с готовыми решениями:
6
Подсветка QML элементов QML-ного плагина в QtCreator в случае нахождения QML файлов плагина в ресурсах! Qml изменение свойств Rectangle из main.cpp QML, Andoid, самопроизвольное изменение размеров окна QML - изменение содержимого формы по клику кнопки и виджета |
Заблокирован
|
|
27.12.2017, 14:02 | 2 |
нужно рисовать график самому, а не посредствам всяких забагованных chart view, сейчас пример найду, кому-то тут уже демки делал
1
|
Заблокирован
|
|
27.12.2017, 14:11 | 3 |
Сообщение было отмечено dopleref как решение
Решение
Вот, нашёл. Посмотри как рисовать графики на QML
1
|
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
|
|
27.12.2017, 14:25 [ТС] | 4 |
Digital_Cry,
Жесткая демка! Спасибо за помощь буду разбираться! Я использую qml, потому что полагаю что это проще, но похоже в данной ситуации я действительно наткнулся на баг(
0
|
Заблокирован
|
|
27.12.2017, 17:49 | 5 |
конечно, да и потом, их там не мало. Это ж какая-то фигня не особо к Qt относящаяся и особо не поддерживаемая... Точнее с недавних времён она входит в состав Qt, но она перекочевала туда из платной версии Qt, делалась на виджетах, потом портировалас на QML...
конечно, на нём вообще всё в плане GUI проще делать, но всё же, рисовать графику лучше плюсами так сказать или на OpenGL и рисовать нужно в Item-е QML. В чистом QML для рисования есть только убогий canvas, там свои тонкости, да и баги есть... Там суть в чём: 1. Создаёшь класс, унаследованный от QQuickPaintedItem, реализуешь в нём чисто виртуальную функцию paint и рисуешь в ней через QPainter что угодно. 2. Для того, что бы этот класс был как бы Item-ом в QML, его нужно зарегистрировать в, как правило, main.cpp через qmlRegisterType<Renderer>("Demo", 1, 0, "Renderer") (не забываем заинклюдить его #include "renderer.h"). 3. После этого, ты можешь использовать свой класс как графический элемент QML, то есть как обычный Item и применять к нему всю мощь QML, всякие анимации, таймеры и пр.. А, стоп, что бы QML код знал про твой зарегистрированный класс, тебе нужно его импортировать в QML, как и всё другое, то есть написать в QML в начале файла: import Demo 1.0 Всё. Собственно, откуда все эти названия в ипорте и при регистрации... Смотри, функция qmlRegisterType в main.cpp принимает: 1. тип шаблона - <Render> - то есть твой класс. 2. 4 аргумента: первый - название твоего QML плагина. В QML, всё, что импортируешь - называется плагинами. второй - мажорная версия твоего плагина третий - минорная версия твоего плагина четвёртый - псевдо имя твоего класса, то есть алиас, то есть грубо говоря имя, которым ты в QML будешь называть свой класс, я обычно ставлю такое же, как и имя С++ класса. По сути, все эти имена и версии ты можешь любые ставить, но обычно, имя плагина я ставлю одно для всех своих однотипны классов, что бы подключив в QML один плагин, мне все они сразу стали доступны... Версии - ой..это долгий разговор, ровно как и то, как сделать внешний стэндалон плагин и инсталлить его в Qt вместе с проектом, забей. Просто ставь любые версии, которые больше понравятся, например 1.0 Вот тебе вдогонку ещё одна демка, я тут на форуме их лепил всяким нубам, а толку ноль, всё равно они ничего не поняли, может хоть тебе пригодиться
1
|
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
|
|
28.12.2017, 09:02 [ТС] | 6 |
Digital_Cry, Спасибо огромное,
за такое полное и подробное объяснение! Разобрался с демками, теперь буду переделывать под свою задачу. Не по теме: С наступающим новым годом!
0
|
|
28.12.2017, 10:56
Изменение анимации qml lineseries
#7
|
0
|
28.12.2017, 10:56 | |
Qml list model изменение свойств элементов из вне QML Изменение размера Rectangle в зависимости от длины текста QMl/QT при нажатии на кнопку должен окрыться другой qml файл Как подключить QML-файл в C++ по моде, а также получить ссылки на QML-элементы в C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |