Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: MuLLIKA от Март 02, 2011, 00:48



Название: Рисовании линии
Отправлено: MuLLIKA от Март 02, 2011, 00:48
Такой вопрос, как рисовать в реальном времени линию показывающую есть 1 или 0 в переменной.
Т.е. в переменной есть значение -1 (т.е. пусто), линия рисуеться прямая от начала окна до конца и постоянно перерисовываеться, и так когда в переменной появляеться зна-е 1, линия рисует импульс (сдвиг вверх), еслси ноль то ни чего не рисует.
нарисованный импульс должен двигаться по экрану и естественно другие рисованные ипульсы за ним должны так же двигаться.
Здесь использовать простую обычную линию? или есть другие средства реализации подобного примера?

Зарание спасибо!


Название: Re: Рисовании линии
Отправлено: alexman от Март 02, 2011, 08:56
Самое простое:
1. Можно хранить переменную-состояние (если есть доступ из другой нитки, то можно закрыть мьютексом; еще можно использовать QAtomicInt).
2. Запускаем в начале таймер.
3. По таймеру вызываем перерисовку.
4. Рисуем обычные линии.


Название: Re: Рисовании линии
Отправлено: MuLLIKA от Март 02, 2011, 23:14
а если нарисовать линию и по линии передвигать полигоны? если 1 - то полигон выделяеться, если 0 - то полигон оч маленький и его не видно из под линии?


Название: Re: Рисовании линии
Отправлено: alexman от Март 03, 2011, 00:36
Не понял?


Название: Re: Рисовании линии
Отправлено: MuLLIKA от Март 03, 2011, 02:06
рисуем линию:
______________________________________________________________________
деалем полигон (квадратный, если 1-ка в переменной)

__|-|________________________________________________________
потом в перемную ставим 0
_______________|-|___________________________________________
затем 1-у
_|-|______________|-|_______________________________

вот, как это должно работать.


Название: Re: Рисовании линии
Отправлено: Fat-Zer от Март 03, 2011, 02:22
написали бы сразу, что вам график меандра нужно нарисовать...
по таймеру производить нужные проверки+перерисовку, а как рисовать - вариантов много...
1) можно всё ручками рисовать
  а) можно постоянно сдвигать изображение
  б) хранить всё в своём формате и перерисовывать каждый раз
2) использовать что-то модное
  а) QGraphics итп
  б) на форуме для графиков советовали QWT

в общем как делать - вам решать... я бы выбрал для себя или 1б, или 2б, или их комбинацию в зависимости от того, как вы это себе представляете...